Sass总结篇

以前只用过嵌套和变量,所以在脑子里CSS预处理器就这点功能。

最近准备看下Sass文档,学习和总结下,看了中文文档有些翻译确实让人看不太懂,所以决定对着英文文档自己啃。

本准备像上一篇一样,把英文文档逐篇翻译,后来想想算了,所以总结了Sass常用的一些功能点。

变量

变量以 $ 开头,非驼峰写法,以 - 做命名切割

sass-variable

⚠️注意:原生CSS也是带有变量功能的,命名以 -- 开头,点击这里查看具体的区别

嵌套

原生CSS是不支持嵌套写法的,但有个相关的草案,相信不久的将来也会支持

sass-css-nesting

用Sass我们可以这样写

sass-css-nesting

嵌套写法也是我们大部分人最常用的功能,没有之一。。。

⚠️注意:嵌套是很有用,但也是很容易滥用的地方,一般建议嵌套不超过三层,否则会影响性能,在Sass中还提供了一个@at-root 的功能,可以让你直接跳出去。这样也可以避免嵌套层级过深。

父选择器(&)

在嵌套中,我们用 & 来表示当前位置的父类节点,通常在写伪类的时候会用到

sass-&

占位符选择器(placeholder)

占位符选择器以 % 开头,通过 @extend 来应用

sass-placeholder

编译出来的CSS代码中并不会包括 %placeholder 规则中的样式,除非是通过 @extend 对其进行调用

它和 mixin 的使用也很像,但是还是有区别

mixin

sass-placeholder-mixin

placeholder

sass-placeholder1

继承(@extend)

所谓 @extend 用法就是你为通用样式写一个 . 样式类,然后要用到改样式的地方再 @extend

sass-extend

我们可以从上图中很直接的看出它与 %placeholder 的区别

还有一个问题,.icon 类我们在 Html 中不会用到,因为它仅仅是用来被 @extend 的,我们可以使用 %placeholder 来解决这种现象

mixin

mixin 前面介绍占位符的时候也稍待介绍下,它主要用来修饰 function ,可以传入参数,也可以给参数设置个默认值

sass-mixin

SassScript相关

@if和@else

流程控制指令一般会配合 mixin 一起使用

sass-if-else

@for

sass-for

@while

sass-while

参考


Profile

不正经的人机交互工程师