Sass小结

本文详细介绍了Sass的使用,包括嵌套、父选择器、注释、变量、数据类型、默认值、运算符、插值语句、语句如@if、@for、@each、@while、导入、mixin、函数、继承、@use和@forward等功能,以及Sass的内置扩展和调试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、嵌套

1、选择器嵌套

2、属性嵌套

比如font-familyfont-sizefont-weight都以font作为属性的命名空间

2、父选择器&

也可以使用&进行选择器名称拼接

3、注释

编译成css文件后:

/* …*/ 中的注释会保留

//中的注释不会保留

 

4、变量

1、原生css变量:

--变量名:变量值定义,var(--变量名)进行使用

2、scss变量

以美元符号$开头

3、注意

  1. 变量以美元符号$开头,后面跟变量名;
  2. 变量名是不以数字开头的可包含字母、数字、下划线、横线(连接符);
  3. 通过连接符-与下划线_定义的同名变量为同一变量;
  4. 变量一定要先定义,后使用;
  5. 写法同css,即变量名和值之间用冒号:分隔;

 

 

5、数据类型

数字,1rem、2vh、13、 10px

字符串,分有引号字符串与无引号字符串,"foo"、 'bar'、baz

颜色,blue, #04a3f9, rgba(255,0,0,0.5)

布尔型,truefalse

空值,null是其类型的唯一值。表示缺少值,通常由函数返回以表示缺少结果;

数组 (list),用空格或逗号作分隔符,1.5em 1em 0 2em,Helvetica,Arial,sans-serif

maps, 相当于 JavaScript 的 object(key1: value1, key2: value2)

 

 

6、默认值

可以在变量的结尾添加!default来给变量设置默认值

 

7、运算符

1、相等运算==

2、不相等运算!=

 

3、关系运算符

< > >= <=

 

4、布尔运算符

1and

2or

3not

 

5、数字操作符

+ - * / %

 

6、字符串运算

1、+可用于连接字符串;

2、如果有引号字符串(位于 + 左侧)连接无引号字符串,运算结果是有引号的;

3、无引号字符串(位于 + 左侧)连接有引号字符串,运算结果则没有引号。

 

8、插值语句

#{}

可以在选择器、属性名、注释中使用变量

类似于模板字符串

 

 

9、语句

1、@if

 

2、@for

@for $变量名 from <start> through <end> 包括end

@for $变量名 from <start> to <end>

 

 

3、@each

@each $变量名 in $listlist为值列表)

 

4、@while

循环输出直到表达式返回结果为 false

 

10、导入

1、@import

可以嵌套在选择器中,只是导入的样式只能出现在嵌套的作用域中

 

2、@Partials

当需要导入scss,但不希望编译成css时,在文件名前添加下划线即可

 

注意:

  1. 导入语句中不需要添加下划线;
  2. 不可以同时存在添加下划线与未添加下划线的同名文件,添加下划线的文件将会被忽略。

 

 

11、mixin

用于定义可重复使用的样式

1、不传参

 

2、传参

 

3、指定默认值

 

4、可变参数(参数不确定)

 

 

12、函数

 

 

13、继承

@extend 用于继承已存在的样式

1、占位选择符 %

占位选择符所属的样式未使用时,不会被编译到css文件中

 

14、@use

可以将来自多个样式表的css组合在一起

 

15、@forward

@forward语句可以引入另一个模块的所有变量、mixins和函数,将它们直接作为当前模块的API暴露出去,不会真的在当前模块增加代码。

 

1、show/ hide

通过控制 show hide,可以决定模块中的哪些成员对引入后的模板可见。

 

16、@at-root

@at-root用来跳出嵌套,在多级嵌套时比较常用。但只能跳出选择器嵌套,不能跳出mediasupport

 

编译后:

 

@at-root的关键词:

all:表示所有

rule:表示常规css选择器(默认)

media:表示media

support:表示support,主要用于检测浏览器是否支持css的某个属性

 

 

17、scss内置扩展

1、color

lighten()和darken():调亮或调暗颜色

opacify():颜色透明度减少

transparent():颜色透明度增加

mix():混合两种颜色

 

2、string

quote():向字符串添加引号

string-length():获取字符串长度

string-insert():将内容插入字符串给定位置

 

 

3、math

percentage():将无单位的数值转换为百分比

round():将数字四舍五入为最接近的整数

min()和max():获取几个数字中的最小值或最大值

random():返回一个随机数

 

4、list

length():返回列表长度

nth():返回列表中的特定项

join():将两个列表连接在一起

append():在列表末尾添加一个值

 

5、map

map-get():根据键值获取map中的对应值

map-merge():将两个map合并成一个新的map

map-values():映射中的所有值

 

6、selector

selector-append():可以把一个选择符附加到另一个选择符

selector-unify():将两组选择器合成一个复合选择器

 

7、meta

meta.calc-args():获取方法的参数

meta.calc-name():获取方法名

 

18、调试相关

1、@debug

打印表达式的值

 

2、@error

显示错误

 

 

3、@warn

显示警告性建议

 

19、自检函数

feature-exists():检查当前scss版本是否存在某个特性

variable-exists():检查当前作用域中是否存在某个变量

mixin-exists():检查某个mixin是否存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值