big*_*ile 6 css sass responsive-design
在我的 SCSS 中,我对不同类型的样式使用不同的部分。
例如
_buttons.scss
.btn {
background:red;
}
@media only screen and (min-width: 768px) {
.btn {
font-size:10px;
}
}
@media only screen and (min-width: 992px) {
.btn {
font-size:20px;
}
}
Run Code Online (Sandbox Code Playgroud)
_slideshow.scss
.slideshow {
background:green;
}
@media only screen and (min-width: 768px) {
.slideshow {
font-size:12px;
}
}
@media only screen and (min-width: 992px) {
.slideshow {
font-size:24px;
}
}
Run Code Online (Sandbox Code Playgroud)
屏幕.scss
@import "buttons";
@import "slideshow";
Run Code Online (Sandbox Code Playgroud)
以这种方式使用部分可以更容易地在项目之间重用代码。例如,如果我有一个不需要幻灯片的项目,我可以省略_slideshow.scss。
这种方法的缺点是媒体查询位(例如@media only screen and)在最终的 CSS 中会重复多次,这会很快导致代码臃肿。
无论如何我可以保持我的部分原样,但告诉 scss 在输出中将它们组合在一起,所以所有 min-width: 768px 都组合在一个查询中,所有 min-width: 992px 都在一个查询中。
例如,输出如下:
.btn {
background:red;
}
.slideshow {
background:green;
}
@media only screen and (min-width: 768px) {
.btn {
font-size:10px;
}
.slideshow {
font-size:12px;
}
}
@media only screen and (min-width: 992px) {
.btn {
font-size:20px;
}
.slideshow {
font-size:24px;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以为每个查询创建一个单独的部分,然后将它们导入另一个工作表并将它们包装在一个查询中,但这开始变得难以维护。
也许在未来的版本中。
但将它们合并或分开并没有太大的区别。您可以在此网站上进行测试:http://aaronjensen.github.io/media_query_test
存在差异,但用户不会真正意识到差异。