【发布时间】:2015-06-02 21:38:44
【问题描述】:
现在我经常使用 CSS 媒体查询,我想知道最好按什么顺序使用它们。
方法一
@media only screen and (min-width: 800px) {
#content { ... }
#sidebar { ... }
}
@media only screen and (max-width: 799px) {
#content { ... }
#sidebar { ... }
}
这样的代码显然更短,但如果有大量 CSS,您最终会将一个容器的 CSS 分散到样式表中的多个位置。
方法二
@media only screen and (min-width: 800px) {
#content { ... }
}
@media only screen and (max-width: 799px) {
#content { ... }
}
@media only screen and (min-width: 800px) {
#sidebar { ... }
}
@media only screen and (max-width: 799px) {
#sidebar { ... }
}
像这样,如果您为每个新容器指定屏幕大小(CSS 处于活动状态),那么在我看来,概览会好得多。 但是对于大量 CSS,您将使用 @media 查询数十次。
第二种方法是否会导致加载时间显着延长或有任何其他缺点?
编辑:
我可能还不够清楚。我的问题与订单或查询本身或覆盖 CSS 声明无关。 我想知道的是其他人如何将媒体查询“语句”包含到他们的 css 中的规范。
假设我只有一个断点可以切换一些 CSS。 所以我有一个针对 min:800px 的媒体查询和一个针对 max:799px 的媒体查询。
我应该同时使用两个查询“语句”
@media only screen and (min-width: 800px) { ... }
@media only sreen and (max-width: 799px) { ... }
在我的整个样式表中只包含一次,并将所有容器的所有 CSS 包含到两个媒体查询“语句”中? 还是可以多次使用媒体查询“语句”?
我的意思是不要在样式表中创建两个单独的区域(一个用于 CSS 以上,一个用于 800px 以下),如果对多次使用媒体查询“语句”的方法有任何顾虑(对于再次访问页面,例如内容、小部件等以使其具有响应性)?
我只想在样式表的两个不同部分中使用 800 像素以上和以下的 CSS。
我知道这两种方法都有效,我只是对规范感到好奇,如果在 CSS 表中使用媒体查询“声明”数十次或数百次(而不是在我提到的情况下只使用两次)将增加加载时间?
【问题讨论】:
-
你检查过 Twitter Bootstrap 的媒体查询吗?
-
Problems with media queries 的可能重复项
标签: css responsive-design media-queries