【发布时间】:2014-01-10 16:33:40
【问题描述】:
这将是我的第一个完全响应式网站,所以我环顾四周,发现帖子底部的基本媒体查询似乎以某种方式或形式与大多数设备相匹配。
我从这些查询之外的代码开始(即针对普通桌面)。然后我处理了第一个移动媒体查询,但第二个规则对我来说没有意义(即大于 321px 的所有内容)。
这似乎意味着大于 321 到 768 的所有内容,这是下一个规则。我想我误解了这是如何工作的?谁能以足够简单的方式解释这一点?我开始认为我所有的 CSS 代码都应该在这些媒体查询中,我不应该先从移动版本开始,然后随着分辨率变大逐渐扩展它?
/* Smartphones (portrait) ----------- */
@media only screen and (max-width : 320px)
{
}
/* Smartphones (landscape) ----------- */
@media only screen and (min-width : 321px) and (orientation: landscape)
{
}
/* iPads (landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape)
{
}
/* iPads (portrait) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait)
{
}
/* Desktops and laptops ----------- */
@media only screen and (min-width : 1224px) and (orientation: landscape)
{
}
/* Large screens ----------- */
@media only screen and (min-width : 1824px)
{
}
【问题讨论】:
-
你似乎明白了,第二条规则意味着任何具有横向方向的设备都将遵循该媒体查询中的内容,然后查询之外的任何内容都将覆盖它,因此下一个媒体查询将使用。如果您在媒体查询之外没有代码,则不会在 1024px 和 1224px 之间应用任何样式,因为您在第三条规则中有一个最大值。
-
感谢 gaynorvader,我说得对,即使有方向规则,它也必须遵守屏幕尺寸规则。 IE。横向 + 屏幕尺寸不超过 321 像素?
-
@Jaques Thaat 是正确的。
标签: css responsive-design media-queries