合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
## 一、概述 sass和scss其实是一样的css预处理语言,SCSS 是 Sass 3 引入新的语法,其后缀名是分别为 .sass和.scss两种。 SASS版本3.0之前的后缀名为.sass,而版本3.0之后的后缀名.scss。 ## 二、核心 `sass`让人们受益的一个重要特性就是它为`css`引入了变量; 你可以把反复使用的`css`属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值。或者,对于仅使用过一 次的属性值,你可以赋予其一个易懂的变量名,让人一眼就知道这个属性值的用途。 `sass`使用`$`符号来标识变量; ### 1、变量申明 ```css $nav-color: #F90; nav { $width: 100px; width: $width; color: $nav-color; } //编译后 nav { width: 100px; color: #F90; } ``` ### 2、嵌套CSS 规则 `css`中重复写选择器是非常恼人的。如果要写一大串指向页面中同一块的样式时,往往需要 一遍又一遍地写同一个`ID` ~~~css #content article h1 { color: #333 } #content article p { margin-bottom: 1.4em } #content aside { background-color: #EEE } ~~~ 像这种情况,`sass`可以让你只写一遍,且使样式可读性更高。在Sass中,你可以像俄罗斯套娃那样在规则块中嵌套规则块。`sass`在输出`css`时会帮你把这些嵌套规则处理好,避免你的重复书写。 ~~~css #content { article { h1 { color: #333 } p { margin-bottom: 1.4em } } aside { background-color: #EEE } } ~~~ ~~~css /* 编译后 */ #content article h1 { color: #333 } #content article p { margin-bottom: 1.4em } #content aside { background-color: #EEE } ~~~ ### 3、导入SASS文件; `css`有一个特别不常用的特性,即`@import`规则,它允许在一个`css`文件中导入其他`css`文件。然而,后果是只有执行到`@import`时,浏览器才会去下载其他`css`文件,这导致页面加载起来特别慢。 `sass`也有一个`@import`规则,但不同的是,`sass`的`@import`规则在生成`css`文件时就把相关文件导入进来。这意味着所有相关的样式被归纳到了同一个`css`文件中,而无需发起额外的下载请求。