20SASS
01sass 是css的预编译语言
sass的写法
简单写法和 css是一样的
less 的 写法
通过换行符和空格来表达层级关系
css 写法
div{ border:1px #f00 solid; }
div p{ font-size:20px; }
sass 写法
div {
border:1px #f00 solid;
p {
font-size:20px;
}
}
less 写法
div
border:1px #f00 solid;
p
font-size:20px;
Sass
是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 Compass)有助于更好地组织管理样式文件,以及更高效地开发项目。
使用sass 可以使用两种语法格式,语法格式不同,文件后缀名不同,具有 scss和sass 两种不同后缀名
scss:支持css3语法格式,所有的css3语法都通用
sass:被称为缩进格式 (Indented Sass) 通常简称 "Sass",是一种简化格式。它使用 “缩进” 代替 “花括号” 表示属性属于某个选择器,用 “换行” 代替 “分号” 分隔属性。
02在vscode中安装 插件
easy sass
easy less
主要使用的是 easy sass , 通过插件编译后的结果是会自动生成 一个css文件和一个 min.css 压缩文件
声明变量
通过关键字 $ 声明变量,$name 此时的name就是变量名
变量名的命名方式:
以数字、字母、下划线_、短横线- 组合在一起作为变量名
注意,只能以 字母和下划线 _ 开头
通过 #{$name} 插值语句可以在选择器或属性名中使用变量
直接在属性中使用变量,sass 会报错
如 margin-$left:10px 报错
margin-#{$left}:10px; 正确写法
全局作用域和局部作用域
全局作用域范围是整个 sass文件,局部作用域范围是某一个选择器内部
全局变量和局部变量
全局变量 :声明在全局作用域的变量,可以在任何地方使用该变量
局部变量 :声明在局部作用域的变量,只能在声明的地方使用
03sass的嵌套规则
.wp {
background:#f60;
h2 { color:#333; }
p { color:#333; }
}
以上嵌套规则最终会被编译为后代选择器的形式,因此嵌套不宜过深
属性嵌套:凡是可以进行拆分的属性,都可以使用属性嵌套,注意属性名后面的冒号 : 要和 { } 有空格分开
border: {
width: 2px;
style:solid;
color: #f00;
}
父选择器标识符 &,& 表示当前的父选择器
/* &表示当前元素的父元素*/
&:hover{
background: #f0f;
p{
background: #f60;
}
}
04混合器
混合器作用,是把相同的css样式提取出来,单独设置成一个模块,使用方便
1.使用混合器 @mixin
语法 @mixin name{
css 样式代码
}
其中,name 就是混合器的名字,他是一个变量,命名规则同 变量的命名规则
2.使用混合器 @include name;
通过@include把混合器的名字引入到使用混合器的位置
3.复杂的混合器
混合器也可以接受参数
1.定义混合器。
@mixin name(arg1,arg2,arg3...){
css 样式代码
}
()中的arg 列表,就是混合器的参数,由于他们只是形式上的参数,不具备任何意思,因此成为 形参列表
注意参数的本质也是变量,因此需要$开头
2.使用混合器。
@include name(val1,val2,val3...)
val 列表,是实际的数据,因此称为实参列表
形参和实参是一一对应的关系
05特殊字符
空格
> 大于号
< 小于号
© 版权符号
" 双引号
' 单引号
× ×号
™ 商标
空格
> 大于号
< 小于号
© 版权符号
" 双引号
' 单引号
× ×号
™ 商标