34.sass

sass

一、sass简介

sass 是css的预编译语言

  1. css 写法
div{ border:1px #f00 solid;}
div p{ font-size:20px;}

sass的写法

简单的写法和 css 是一样的

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 两种不同的后缀名

  1. scss:支持css3语法格式,所有的css3语法都通用
  2. sass:被称为缩进格式 (Indented Sass) 通常简称 “Sass”,是一种简化格式。它使用 “缩进” 代替 “花括号” 表示属性属于某个选择器,用 “换行” 代替 “分号” 分隔属性。

二、sass变量

在vscode中安装 插件

  1. easy sass
  2. easy less

主要是使用的是 easy sass.通过插件编译后结果是会自动生成 一个css文件和一个 min.css压缩文件

1.声明变量

通过关键字 $ 声明变量,$name 此时的name就是变量名

2.变量名的命名方式:

以数字,字母、下划线 _ 、短横线- 组合的字符作为变量名

注意,只能以 字母和下划线 _ 开头

通过 #{$name} 插值语句可以在选择器或属性名中使用变量

直接在属性中使用变量,sass 会报错

如 marin-$left:10px;报错

margin-#{$left}:10px; 正确写法

3.全局作用域和局部作用域

全局作用域范围是整个 sass文件,局部作用域范围是某一个选择器内部

4.全局变量和局部变量

  1. 全局变量:声明在全局作用域内的变量,可以在任何地方使用该变量
  2. 局部变量:声明在局部作用域内的变脸和,只能在声明的地方使用

sass的嵌套规则

.wp{
    background:#f60;
    h2{ color:#333; }
    p{ color:#333; }
}

以上嵌套规则最终会被编译为后代选择器的形式,因此嵌套不宜过深

属性嵌套:凡是可以进行拆分的属性,都可以使用属性嵌套,注意属性名后面的冒号(:)要和{} 有空格分开

border: {
    width: 2px;
    style:solid;
    color:#ff0 ;
    }

父选择器标识符 &, &表示当前的父选择器

四、混合器

混合器作用,是把相同的css样式提取出来,单独设置成一个模块,使用方便

使用混合器 @mixin

语法 @mixin name{
        css 样式代码
    }

其中,name 就是混合器的名字,他是一个变量,命名规则同 变量的命名规则

使用混合器@include name;

通过@include把混合器的名字引入到使用混合器的位置

复杂的混合器

混合器也可以接受参数

  1. 定义混合器

     @mixin name(arg1,arg2,arg3...){
             css 样式代码
         }
    

()中的arg列表,就是混合器的参数,由于他们只是形式上的参数,不具备任何意思,因此称为 形参列表

注意,参数的本质也是变量,因此需要$开头

  1. 使用混合器

@inclue name(val1,val2,val3…)

val列表,是实际的数据,因此称为实参列表

形参和实参是一一对应的关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值