【发布时间】:2013-09-15 20:36:32
【问题描述】:
我正在测试我正在开发并正在使用媒体查询的网站。
当我在浏览器中测试和调整页面大小时,一切都很好。
但是当我在移动设备上进行测试时,我在更改手机方向时遇到了问题。
如果我以landscape 模式加载页面,则会应用正确的 CSS。
当我更改为portrait 时,CSS 也是正确的。
但如果我回到landscape,portrait css 类仍在应用中。
我正在使用这些元标记
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
在我的媒体查询中,我有
@media
only screen and (max-width: 610px),
only screen and (max-width: 610px) and (orientation:landscape) { ... }
@media
only screen and (min-device-width: 240px) and (max-device-width: 520px),
only screen and (min-width: 240px) and (max-width: 520px) { ... }
我已经提醒设备宽度以确保它没问题,在landscape 模式下它是598px 宽度和portrait 是384px
我使用的是 Nexus 4 (Android 4.3)
为什么我改回方向后 CSS 没有应用?
编辑:
如果我在portrait 中加载站点,然后更改为landscape,则不会应用CSS。
好像一旦调到最小分辨率就回不去了。
【问题讨论】:
-
你每次都刷新吗?如果没有,很确定你必须使用 javascript 使其响应
-
我很确定你必须使用 JS 来重置 css。使用 jquery.resize() 修复 css 的方向偏移
-
@beautifulcoder 不,我没有点击刷新,当我点击刷新时,css 看起来很好......这是我在页面加载后更改方向的时候。
-
我认为您不必刷新,请尝试调整浏览器窗口的大小。
-
@David,在 jquery.resize() 上,我提醒了 $(window).width() 并且我得到了正确的新宽度,当我改变方向时 resize() 正在触发。跨度>
标签: css media-queries device-orientation