我有一个在 iPhone/Mobile Safari 上运行异常的小型手机应用程序。当它的方向是垂直的时,页面呈现并且工作得很好。当我水平旋转手机时,页面上的所有元素都不会正确调整大小。一些标题元素将保持几乎相同的大小,可能会增加 10%,其他的会增加一倍。
有没有人遇到过这个?我的第一个想法是 css 可以混合基于 em 和 px 的尺寸,但是找到每个尺寸元素并将它们转换为 em 并没有改变任何事情。
我有一个在 iPhone/Mobile Safari 上运行异常的小型手机应用程序。当它的方向是垂直的时,页面呈现并且工作得很好。当我水平旋转手机时,页面上的所有元素都不会正确调整大小。一些标题元素将保持几乎相同的大小,可能会增加 10%,其他的会增加一倍。
有没有人遇到过这个?我的第一个想法是 css 可以混合基于 em 和 px 的尺寸,但是找到每个尺寸元素并将它们转换为 em 并没有改变任何事情。
这是因为 iPhone 和 iPod Touch 上的 Mobile Safari 会自动调整字体大小。
您可以使用以下 css 规则禁用它,
html {-webkit-text-size-adjust:none}
来自Safari 参考库的更多信息
您是否尝试过包含视口元标记,例如:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
否则,您可以尝试创建特定于方向的 CSS 样式表,并在方向更改事件触发时将它们换成 javascript,但我更喜欢上面的元标记方法。