存在所有移动设备在开始时缩放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" />
我的HTML在px中不使用任何宽度100%。总体而言,内容不会延伸640宽度和700高度。
有没有人知道如何才能避免这个问题?
修改
得出的结论是@hakre对像素的比例是正确的。我的修复是将每个宽度设置为%而不是px。这样它无论如何都会自动调整大小。需要注意的一点是我删除了比例。原因是它似乎搞砸了某些设备上的布局。再次感谢@hakre
答案 0 :(得分:4)
我只在Android的默认浏览器和Opera Mobile上测试了这个,但它似乎运行良好。遗憾的是,仍无法在Android浏览器上禁用缩放...
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="viewport" content="target-densitydpi=device-dpi" />
<meta name="HandheldFriendly" content="true"/>
答案 1 :(得分:2)
在CSS中,px
是absolute length unit。当输出环境已知时,它们主要有用。
对于CSS设备,这些尺寸要么锚定(i)将物理单位[in,cm,mm,pt,pc]与其物理测量相关联,要么(ii)关联像素单元[ px]到参考像素 。 [我的补充和亮点]
如果参考像素是设备显示器物理像素的一半,则700px的CSS值将在显示器上转换为350px - 或者在您的问题中为50%。
所以你在这里遇到的是完全正确的,在你选择px
单位的意义上CSS是正确的,你只是错过了CSS中的px与显示器上的像素不同。因为它不是,但你想要它,看起来你选择了错误的单位。
再次:绝对长度单位在输出环境已知时主要有用。
也许您找到一种方法告诉浏览器修改参考像素?这将解决您的问题。或者现在,当你知道会发生什么时,检测设备并相应地改变长度。
作为替代方案,您可以用相对的(em,ex)替换绝对长度。由于它们是相对的,您只需要更改它们相对的元素的长度,即可更改整个页面。
这通常通过使用<html>
和/或<body>
元素的绝对长度以及其他所有元素的相对长度来完成。
这种方法可以帮助您解决问题。