相信很多人都在用Sass
,但所使用的Sass功能却很少,有点暴殄天物的意思。让我们好好了解下Sass
的常用功能吧。
Sass 介绍
Sass官网的描述:“ Sass是世界上最成熟、稳定、强大的专业级CSS扩展语言。”
它兼容所有版本的css,在css的基础上提供了 变量、混入、函数、规则等特性,提高样式文件编写效率以及提高可维护性。相比较与其它的css扩展语言,有着更丰富的特性,以及更悠久的历史,有着超过15年时间专业团队的打磨。
必会特性
常规的特性就不一一列出了,比如可嵌套,支持变量等
@mixins 和 @include
@mixins
允许你定义可以在整个样式表中重复使用的样式。@include
则可以消费@mixins
定义的样式。两个配合可以使你减少编写很多重复的样式,提高效率。
编译为=>
支持参数传递
编译为=>
流程控制
Sass提供了四种流程控制,来更精确的控制每一种变化, 分别是 @if 和 @else
、@for
、@each
、@while
@if 和 @else
语法: @if <表达式> { … } @else if <表达式> {} @else { … }
编译为=>
@for
语法: @for <变量> form <表达式> to <表达式> { … } 或者 @for <变量> from <表达式> through <表达式> { … }
编译为=>
@each
语法: @each <变量> in <表达式> { … }
编译为=>
@while
语法:@while <表达式> { … }
编译为=>
@function
在Sass中也能像js 一样使用函数,来抽离一些比较复杂的且需要复用的计算任务
编译为=>
@extend
平常在编写样式的时候,经常会出现某一个类和另一个类拥有大部分相同的样式,只有部分不同,特别是在这两个类还存在一定关系的时候,那么使用@extend
就很方便
编译为=>
@at-root
语法:@at-root <selector> { … }
在使用嵌套的时候,不想让某个类限制在父级之下,而直接输出到文档根层级上,使用@at-root
就可以做到
编译为=>
但是要注意 @at-root
默认情况下不能跳出指定的规则,比如@media
,需要跳出需要使用@at-root (without: media){ ... }
编译为=>
最后
学会利用这些特性合理组合将能够大大减少开发时间,提高开发效率!
以上列出的只是Sass一部分比较常用的特性,更详细的请去Sass官网有更详细的介绍,如果本文有错误欢迎指正,谢谢!