有没有一个简单的方法可以让你的移动设备只针对横向 流动 在不影响桌面设备的情况下,不为每个设备输入屏幕尺寸?如果没有,有没有一个最佳分辨率来针对大多数用户?现在手机屏幕的分辨率可以和大多数桌面屏幕的分辨率相等或更大,我不明白为什么很多人对640x480以下的分辨率使用规则。
比如说,要针对 肖像 设备(99%是移动设备),我们可以把他的规则写成。
/*Global and desktop rules*/
@media only screen and (orientation: portrait) {
/*Mobile overwrites*/
}
然而,同样的查询 orientation: landscape
也会影响到桌面用户。我的临时变通方法是使用 vw
, vh
和 vmin
但我想知道是否有更好的方法。
会不会有 mobile
CSS媒体简化了Web开发人员的工作?
你可以混合CSS媒体查询为 方向 以检测横向模式和 悬停 + 指针 来检测触摸设备。
@media (orientation: landscape) and (hover: none) and (pointer: coarse) {
/* your CSS to target only landscape mobile users */
}
关于只用CSS检测触摸设备的参考,这里有一篇很好的文章。媒介.
最好的解决方案是使用JavaScript来检测设备,并添加一个类到。<body>
或 <html>
为了添加你的CSS.你可以看一看 当前设备你只需加入脚本,然后更新 <html>
部分,并根据设备的特性添加相应的类。
希望能帮到你。
有一个查询 @media pointer
,它决定了用户是否有一个指向性设备(如鼠标)。由于移动设备没有指针,所以你可以将它和 not: pointer
和 orientation: landscape
,像这样
@media (not: pointer) and (orientation: landscape) { ... }
为什么不直接使用max-width代替orientation呢?
试试这个。
@media (orientation: landscape) {
}