【发布时间】:2012-07-22 11:51:35
【问题描述】:
(这可能已经回答了 - 虽然找不到答案)
传统的@media 查询覆盖倾向于将一种尺寸/中等的所有覆盖分组在同一个括号组下。
例如
.profile-pic {
width:600px;
}
.biography {
font-size: 2em;
}
@media screen and (max-width: 320px) {
.profile-pic {
width: 100px;
float: none;
}
.biography {
font-size: 1.5em;
}
}
在 Sass 中,有一种非常好的方法可以在嵌套声明中编写 @media 查询覆盖,如下所示:
.profile-pic {
width:600px;
@media screen and (max-width: 320px) {
width: 100px;
float: none;
}
}
.biography {
font-size: 2em;
@media screen and (max-width: 320px) {
font-size: 1.5em;
}
}
现在,在编译时,sass 不会将 @media 查询块组合在一起,因此输出最终会是这样的:
.profile-pic {
width:600px;
}
@media screen and (max-width: 320px) {
.profile-pic {
width: 100px;
float: none;
}
}
.biography {
font-size: 2em;
}
@media screen and (max-width: 320px) {
.biography {
font-size: 1.5em;
}
}
我在最近的一个项目中使用了这种技术,当您将该原则应用到一个更大的项目时,您最终会在整个 css 中传播多个 @media 查询部分(到目前为止,我有大约 20 个)。
我非常喜欢 sass 技术,因为它可以更轻松地跟踪覆盖的流程(并且也可以更轻松地移动事物)。
但是,我想知道通过 CSS 设置多个 @media 部分是否有任何缺点,尤其是在性能方面?
我已尝试使用 chrome css 分析器,但看不到任何特定于 @media 查询的内容。
【问题讨论】:
标签: css sass media-queries