VVV*_*VVV 8 css device-orientation media-queries
我正在测试我正在开发的网站并正在使用媒体查询.
当我在浏览器中测试和调整页面大小时,一切都很好.
但是当我在移动设备上测试时,当我改变手机的方向时遇到问题.
如果我在landscape模式下加载页面,则应用正确的CSS.
当我改为时portrait,CSS也是正确的.
但如果我回去landscape,portraitcss类仍在应用.
我正在使用这些元标记
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
Run Code Online (Sandbox Code Playgroud)
在我的媒体查询中
@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) { ... }
Run Code Online (Sandbox Code Playgroud)
我已经提醒设备宽度以确保它没问题,并且在landscape模式下它是598px宽的并且portrait是384px
我正在使用Nexus 4(Android 4.3)
一旦我改变方向,怎么没有应用CSS?
编辑:
如果我加载网站portrait,然后更改为landscape,则不应用CSS.就好像一旦达到最小分辨率,就无法回头.
我的问题与 CSS 请求的顺序有关。
'min-device-width'我曾经在其余部分之前定义过。
@media
only screen and (min-device-width: 240px) and (max-device-width: 520px),
only screen and (min-width: 240px) and (max-width: 520px) { ... }
Run Code Online (Sandbox Code Playgroud)
但如果我最后定义它,它就会起作用。
@media
only screen and (min-width: 240px) and (max-width: 520px),
only screen and (min-device-width: 240px) and (max-device-width: 520px) { ... }
Run Code Online (Sandbox Code Playgroud)
有关设备宽度的更多信息:-查看此问题