我正在建立一个基于移动优先方法的网站,我有 3 种不同的设计。
移动:宽度最大 767px(红色)
平板电脑:从 768 像素到 979 像素(蓝色)
桌面:980px起(绿色)
.
纵向和横向模式下的 iPad 必须表现得像平板电脑设计。(蓝色的)
然后我有这个媒体查询:
body{
background-color: red;
}
@media (min-width: 768px),
only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
body {
background-color: blue;
}
}
@media (min-width: 980px) {
body {
background-color: green;
}
}
问题是 iPad 获得了桌面设计(绿色)。那是因为媒体查询的顺序会影响所以它先是蓝色,然后是绿色,因为是之后编码的。
我找到了一个解决方案,它将为平板电脑添加最大宽度并重新排序媒体查询,以便桌面先出现,然后是平板电脑:
body{
background-color: red;
}
@media (min-width: 980px) {
body {
background-color: green;
}
}
@media (min-width: 768px) and (max-width: 979px),
only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
body {
background-color: blue;
}
}
但如果可能的话,我想保持手机、平板电脑和台式机等订单。主要是因为我使用的是 Sass,如果订购,嵌套会更容易,
有什么建议吗?