Skip to content
目录

样式表的结构

就像CSS一样,大多数Sass样式表主要由包含属性声明的样式规则组成。但是Sass样式表有更多的特性可以与这些一起存在。

声明

Sass 样式表由一系列声明组成,这些声明经过执行以构建生成 CSS。某些声明可能包含使用 { 和 } 定义的块,其中块又包含其他声明。例如,样式规则是带有块的声明。该块包含其他声明,例如属性声明。

在 SCSS 中,声明由分号分隔(如果声明使用块,分号是可选的)。在缩进语法中,它们只是用换行符分隔。

通用声明

这些类型的声明可以在 Sass 样式表中的任何地方使用:

css声明

这些声明产生 CSS。它们可以在除 @function 之外的任何地方使用:

顶级声明

这些声明只能在样式表的顶层使用,或嵌套在顶层的 CSS 声明中:

其它声明

  • width: 100px 之类的属性声明只能在样式规则和某些 CSS @规则中使用。
  • @extend 规则只能在样式规则中使用。

表达式

表达式是位于属性或变量声明右侧的任何内容。每个表达式产生一个。任何有效的 CSS 属性值也是 Sass 表达式,但 Sass 表达式比普通 CSS 值更强大。它们作为参数传递给 混入函数,用于通过 @if 规则控制流程,并使用算术进行操作。我们称 Sass 的表达式语法为 SassScript。

字面量

最简单的表达式只代表静态值

  • 数字 ,可能有也可能没有单位,例如 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 定义了许多操作的语法:

其他表达方式

  • 变量,例如 $var 。
  • 函数调用,如 nth($list, 1) 或 var(--main-bg-color) ,可以调用 Sass 核心库函数或用户定义的函数,也可以直接编译为 CSS。
  • 特殊函数,例如 calc(1px + 100%) 或 url(http://myapp.com/assets/logo.png) ,它们有自己独特的解析规则。
  • 父选择器, & 。
  • 值 !important ,被解析为未加引号的字符串的字符串。