样式表的结构
就像 CSS 一样,大多数 Sass 样式表主要由包含属性声明的样式规则组成。但是 Sass 样式表还有更多的特性可以与这些特性并存。
语句
Sass 样式表由一系列语句组成,这些语句被评估以构建生成的CSS。一些语句可能有块,使用
{}
定义,其中包含其他语句。例如,样式规则是带有块的语句。该块包含其他语句,例如属性声明。
在SCSS中,语句由分号分隔(如果语句使用块,则分号是可选的)。在缩进语法中,它们只是用换行符分隔。
通用语句
这些类型的语句可以在 Sass 样式表的任何地方使用:
-
变量声明,如
$var : value。 -
流控制规则,如
@if 和@each 。 -
@error 、@warn 、@debug 规则。
CSS 语句
这些语句产生CSS。它们可以在除
-
风格规则,例如
h1{/*...*/}
。 -
CSS 规则,如
@media
和@font-face
。 -
Mixin 使用
@include 。 -
@at-root 规则。_
。
顶级语句
这些语句只能在样式表的顶层使用,或者嵌套在顶层的CSS语句中:
-
模块加载,使用
@use 。 -
导入,使用
@import 。 -
使用
@mixin 。 -
函数定义使用
@function 。
其他声明
-
像这样的属性声明
width: 100px
只能在样式规则和一些 CSS 规则中使用。 -
该
@extend 规则只能在样式规则中使用。
表达式
表达式是位于属性或变量声明右侧的任何内容。每个表达式产生一个值。任何有效的CSS属性值也是一个 SASS 表达式,但 SASS 表达式比普通的CSS值强大得多。它们作为参数传递给mixins 和函数,用于使用
面量
最简单的表达式只表示静态值:
-
数字,可能有也可能没有单位,比如
12
、100px
。 -
字符串,可能有也可能没有引号,比如
"Helvetica Neue"
、bold
。 -
颜色,可以通过其十六进制表示或名称来引用,例如
#c6538c
或blue
。 -
布尔值,
true
或false
。 -
null
值。 -
值列表,可以用空格或逗号分隔,可以用方括号括起来,也可以根本没有括号,如
1.5em 1em 0 2em
、Helvetica
、Arial
、sans-serif
或[col1-start]
。 -
将值与键相关联的映射,例如(
"background": red,"foreground": pink
)。
操作符
Sass 定义了许多操作的语法:
-
==
、!=,用于检查两个值是否相同。 -
+
、-
、*
、/
、%
,对数字具有通常的数学含义。 -
<
、<=
、>
、>=
,检查两个数是否大于或小于另一个数。 -
and
、or
、not
,具有通常的布尔行为。 -
+
、-
、/
,可用于连接字符串。 -
()
,用于显式控制操作的优先顺序。
其他表达式
-
变量
$var 。 -
函数调用,比如
nth($list, 1)
、var(--main-bg-color)
,可以调用 Sass 核心库函数或用户自定义函数,也可以直接编译成 CSS。 -
特殊函数,如
calc(1px + 100%)、 url(http://myapp.com/assets/logo.png)
,具有自己独特的解析规则。 - 父选择器, & 。
-
!important ,被解析为不带引号的字符串。