SCSS
思维导图
一、 注释
/* */
: 编译后保留,压缩不保留//
: 编译后不保留/*!*/
: 编译后,压缩后都保留
二、嵌套
父选择器(
&
)属性嵌套
编译前:
1 | $color: green; |
编译后:
1 | .nav { |
三、变量
$
定义变量- 插值语法
#{$var}
- 变量支持块级作用域
编译前:
1 | $success: #000; |
编译后:
1 | .button .button-success {...} |
四、@rules
1. 混合指令: @mixin&@include
编译前:
1 | //定义 |
编译后:
1 | .btn-warning { |
2. 继承: @extend
编译前:
1 | .btn { |
编译后:
1 | .btn, |
3. 导入: @import
1 | @import 'filename'; |
创建文件时使用
_
开头命名导入时省略
_
_
作用:当有scss文件
不想编译时单独转成css文件
,可以使用Partials
方式命名文件,使得其不会被单独转成css文件。
4. 自定义函数: @function
编译前:
1 | $colors: ( |
编译后:
1 | div {color: #eee;} |
五、数据类型
检测方法:
type-of()
1. number
1 | $width: 5; |
内置函数:
-
percentage()
-
round()
-
ceil()
-
floor()
-
abs()
-
min()
-
max()
-
random()
2. bool
true,false
3. string
1 | $str: 'hello'; // 有引号 |
内置函数:
- to-upper-case()
- to-lower-case()
- str-length()
4. color
1 | $color: red; |
内置函数:
- lighten()
- darken()
5. list
1 | $list: (10px, 'string', red); |
内置函数:
- length()
- nth()
- append()
- index()
- join()
6. map
1 | $map: (top: 1px, bottom: 2px, left: 3px, right: 4px); |
内置函数:
- map-get():查找键值
- map-keys():
- map-values()
- map-has-key()
- map-merge():合并map
- map-remove()
六、运算符
- 算术:
+
-
*
/
- 逻辑:
and
or
not
- 关系:
>
<
==
>=
<=
七、流程控制
1. 条件:
@if
1 | @if 条件{ |
2. 循环: @for&@each&@while
1)@for
编译前:
1 | @for $i from 1 through 3 { |
编译后:
1 | .button-1 { |
2)@each
1 | @each $value in $list |
1 | @each $key,$value in $map |
3)@while
1 | @while 1 == 1 { |
八、异常
- @warn
- @error