HTML/CSS - 移动设备在开始时缩放

Dan*_*sen 6 html css php mobile

遇到问题,所有移动设备在开始时都会缩放50%.这是iPad以外的所有设备.试图做一个PHP检查,如果除了iPad之外的其他所有比例,可以扩展50%但是当你从横向移动 - >肖像 - >风景时,它将再次缩小50%.

这是我目前的元标记:

<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=640, height=700, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
Run Code Online (Sandbox Code Playgroud)

我的HTML在px中不使用任何宽度100%.总体而言,内容不会延伸640宽度和700高度.

有谁知道我怎么可能避免这个问题?

编辑

得出的结论是@hakre对像素的比例是正确的.我的修复是将每个宽度设置为%而不是px.这样它无论如何都会自动调整大小.需要注意的一点是我删除了比例.原因是它似乎搞砸了某些设备上的布局.再次感谢@hakre

hak*_*kre 1

在CSS中,px绝对长度单位。它们主要在输出环境已知时有用。

对于 CSS 设备,这些尺寸要么 (i) 通过将物理单位 [in、cm、mm、pt、pc] 与其物理测量值相关联,要么 ( ii) 通过将像素单位 [px] 与参考像素相关联来锚定。[我的补充和强调]

如果参考像素是设备显示屏物理像素的一半,则 700px 的 CSS 值将在显示屏上转换为 350px - 或者问题中所说的 50%。

所以你在这里的经历是完全正确的,CSS 在你选择单位的意义上是正确的px,你只是错过了 CSS 中的 px 与显示器上的像素不同。因为它不是,但您希望它是,所以看起来您选择了错误的单位。

再次强调:绝对长度单位主要在输出环境已知时有用。

也许您找到一种方法告诉浏览器修改该参考像素?这将解决你的问题。或者现在,当您知道发生了什么时,检测设备并相应地更改长度。

作为替代方案,您可以将绝对长度替换为相对长度(em、ex)。由于它们是相对的,您只需更改它们相对的元素的长度,即可更改整个页面。

<html>这通常是通过使用和/或元素的绝对长度<body>以及其他所有元素的相对长度来完成的。

这种方法也可能帮助您解决问题。