简介
Sass 是一种css预处理器,CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。
除了sass还有一些其他常见的预处理语言
Sass 有时候也被称为 SCSS,两者之间不同之处有以下两点:
- 文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名
- 语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。
来看一个示例:123456/* Sass 语法 */$font-stack: Helvetica, sans-serif$primary-color: #333body font: 100% $font-stack color: $primary-color
|
|
编译出来的css
|
|
Tips:scss文件中可以完全像写正常的css那样去写.
Sass的安装
|
|
node-sass 参数:
|
|
Sass的基本特性
变量
|
|
|
|
|
|
嵌套
|
|
不要无节制嵌套,一切都根据实际情况判断
混合宏
|
|
|
|
|
|
|
|
混合宏会生成冗余代码
扩展/继承
|
|
不会生成冗余代码
占位符
|
|
mt5 和 pt5 并不会生成最终代码
插值#{}
允许在#{}内部解析变量
|
|
注释
Sass 有时候也被称为 SCSS,两者之间不同之处有以下两点:
- 类似 CSS 的注释方式,使用 ”/ ”开头,结属使用 ”/ ”
- 类似 JavaScript 的注释方式,使用“//”
两者区别,前者会在编译出来的 CSS 显示,后者在编译出来的 CSS 中不会显示
数据类型
Sass 和 JavaScript 语言类似,也具有自己的数据类型,在 Sass 中包含以下几种数据类型:
- 数字: 如,1、 2、 13、 10px;
- 字符串:有引号字符串或无引号字符串,如,”foo” ‘bar’ baz;
- 颜色:如,blue, #04a3f9, rgba(255,0,0,0.5);
- 布尔型:如,true, false;
- 空值:如,null;
- 值列表:用空格或者逗号分开,如,1.5em 1em 0 2em , Helvetica, Arial, sans-serif
运算
|
|
Sass的高级特性
@if
|
|
@for
|
|
|
|
@each
|
|
Sass中的函数
|
|
全部的内置函数
字符串函数
- unquote
- quote
- To-upper-case
- To-lower-case
- percentage
|
|
- round
- ceil
- floor
- abs
- min
- max
- random
列表函数
- length 取列表数据的长度
- nth (10px 20px 30px, 1)
- join join(10px 20px, 30px 40px)
- append append(10px 20px ,30px)
- zip zip(1px 2px 3px,solid dashed dotted,green blue red)
- index index(1px solid red, solid)
- type-of type-of(100)
- unit 取单位
- unitless 判断一个值是否带有单位
- comparable 判断两个数是否可以进行加减合并
- if(true,1px,2px)
Maps函数
- map-get
- map-has-key
- map-keys
- map-values
- map-merge
- map-remove
- keywords
|
|
|
|
|
|
|
|
|
|
|
|
|
|
颜色函数
- rgb
- rgba
- red
- green
- blue
- mix 混合两种颜色 第三个参数为第一种颜色的比例 mix(blue,red,20%)
- lighten lighten(red, 20%);
- darken darken(red,30%);
- saturate 改变颜色的饱和度 参数单位为百分比 saturate(blue,20%)
- desaturate
- adjust-hue 通过调整色相 adjust-hue(blue,30deg)
- grayscale 直接让饱和度为0 grayscale(blue);
- alpha 获取透明度
- opacity 获取透明度
- fade-out 减少透明度
- opacify 增加透明度
- fade-in 增加透明度
- transparentize 减少透明度
|
|
|
|
Sass的@规则
- @import
- @media
|
|
- @extend
- @at-root
- @debug
- @warn
- @error
- @content
|
|
|
|
总结
以上就是SASS的语法以及用法,多加练习,才能掌握它。
本文总阅读量次