sass学习--sass的@规则(进阶篇)
来源:互联网 发布:淘宝定制的可强行退吗 编辑:程序博客网 时间:2024/05/18 22:43
SASS样式指南:http://blog.jobbole.com/40542/
1.@important:引入文件
//示例:@import "foo.css","foo2.scss";@import "foo" screen;@import "http://foo.com/bar";@import url(foo);
若你有一个 SCSS 或 Sass 文件需要引入, 但又不希望它被编译为一个 CSS 文件, 这时,你就可在文件名前面加一个下划线,就能避免被编译。 这将告诉 Sass 不要把它编译成 CSS 文件。 然后,照常引入这个文件,省略掉文件名前面的下划线。
例如有一个文件叫做 _colors.scss,引入的时候写为colors.scss。 这样就不会生成 _colors.css 文件了, 而且你还可以这样做:
//原文件名: _colors.scss@import "colors";//引入时候不用加下划线
注意:同一个目录不能同时存在带下划线和不带下划线的同名文件。 例如, _colors.scss 不能与 colors.scss 并存。
2.@media:嵌套css规则
sass 中的 @media 指令有另外一个功能,可以嵌套在 CSS 规则中。有点类似 JS 的冒泡功能一样,如果在样式中使用 @media 指令,它将冒泡到外面。
//sass.sidebar { width: 300px; @media screen and (orientation: landscape) { width: 500px; }}//css.sidebar { width: 300px; }@media screen and (orientation: landscape) { .sidebar { width: 500px; }}
@media 也可以嵌套 @media:
@media screen { .sidebar { @media (orientation: landscape) { width: 500px; } }}//css@media screen and (orientation: landscape) { .sidebar { width: 500px; } }
在使用 @media 时,还可以使用插值件#{}:
$media: screen;$feature: -webkit-min-device-pixel-ratio;//设备像素比$value: 1.5;@media #{$media} and ($feature: $value) { .sidebar { width: 500px; }}//css@media screen and (-webkit-min-device-pixel-ratio: 1.5) { .sidebar { width: 500px; } }
3.@extend:拓展选择器或占位符
.error { border: 1px #f00; background-color: #fdd;}.error.intrusion { background-image: url("/image/hacked.png");}.seriousError { @extend .error; border-width: 3px;}
扩展选择器:@extend 不止扩展类选择器,还可以扩展任何选择器,比如 .special.cool, a:hover, 或 a.user[href^=“http://“]
.hoverlink { @extend a:hover;}a:hover { text-decoration: underline;}//cssa:hover, .hoverlink { text-decoration: underline; }
多个扩展: 所设某个样式要继承多个地方的样式,那么可以使用 @extend 来继承多个选择器或占位符的样式
.error { border: 1px #f00; background-color: #fdd;}.attention { font-size: 3em; background-color: #ff0;}.seriousError { @extend .error; @extend .attention; border-width: 3px;}
扩展单一选择器: %placeholder 不使用@extend显示调用是不会生成任何样式代码。那么在选择器中使用占位符一样。
#context a%extreme { color: blue; font-weight: bold; font-size: 2em;}.notice { @extend %extreme;//此时才会编译产生}
4.@at-root: 跳出根元素
当你选择器嵌套多层之后,想让某个选择器跳出,此时就可以使用 @at-root。
.a { color: red; .b { color: orange; .c { color: yellow; @at-root .d { color: green; } } } }//css.a { color: red;}.a .b { color: orange;}.a .b .c { color: yellow;}.d { color: green;}
5.@debug、@warn、@error:三者都适用于调试,类似于控制台输出信息
总结:主要整理了@import、@media、@extend、@at-root、@debug、@warn、@error等@规则。其中个人感觉实战用途比较多的可能是@media和@extend了吧!本人愚见,欢迎指教!
- sass学习--sass的@规则(进阶篇)
- sass学习--sass的控制命令(进阶篇)
- sass学习--sass的函数功能(进阶篇)
- Sass进阶
- sass学习(入门篇)
- 2-5 Sass 的 @ 规则
- 2-5 Sass 的 @ 规则
- 2-5 Sass 的 @ 规则
- Sass的学习
- 10天精通Sass 之 Sass的@规则
- sass学习--基本特性(基础篇)
- SASS 学习
- sass学习
- sass学习
- sass学习
- SASS学习
- Sass学习
- SASS学习
- 水晶报表函数应用
- nextSibling
- c#winform自定义listview,解决listview闪缩问题,添加listview单元格单击事件。
- API 返回505
- java线程池和关闭线程池中的线程
- sass学习--sass的@规则(进阶篇)
- js 柯里化函数
- Swift - 属性观察者(willSet与didSet)
- iOS:字符串中是否含有中文
- Spring 事务管理高级应用难点剖析: 第 3 部分
- springmvc 传入参数
- HeaderRecycleAdapter--通用的带头部RecycleView.Adapter
- python动态获取对象的属性和方法
- 控制台窗口输入getline与cin的区别