Sass 变量
Sass 变量
变量是一种存储信息的方式,您可以在以后重复使用它。
通过 Sass,您可以将信息存储在变量中,例如:
- 字符串
- 数字
- 颜色
- 布尔值
- 列表
- null
Sass 使用 $ 符号后跟名称来声明变量:
Sass 变量语法:
$variablename: value;
下面的例子声明了 4 个变量:
myFont
myColor
myFontSize
myWidth
声明变量后,您可以在任意位置使用这些变量:
SCSS 语法:
$myFont: Helvetica, sans-serif; $myColor: red; $myFontSize: 18px; $myWidth: 680px; body { font-family: $myFont; font-size: $myFontSize; color: $myColor; } #container { width: $myWidth; }
因此,当 Sass 文件被转译时,它会使用变量(myFont、myColor 等),并输出普通 CSS 和放置在 CSS 中的变量值,如下:
CSS 输出:
body { font-family: Helvetica, sans-serif; font-size: 18px; color: red; } #container { width: 680px; }
Sass 变量范围
Sass 变量仅在定义它们的嵌套级别上可用。
请看下面的例子:
SCSS 语法:
$myColor: red; h1 { $myColor: green; color: $myColor; } p { color: $myColor; }
<p>
标签内的文本颜色是红色还是绿色?是红的!
另一个定义,$myColor: green; 位于 <h1>
规则内,并且只在那里可用!
所以,CSS 输出将是:
CSS 输出:
h1 { color: green; } p { color: red; }
好的,这是变量作用域的默认行为。
使用 Sass !global
可以使用 !global
开关覆盖变量作用域的默认行为。
!global
指示变量是全局的,这意味着它可以在所有级别上被访问。
请看下面的例子(与上面相同,但添加了 !global
):
SCSS 语法:
$myColor: red; h1 { $myColor: green !global; color: $myColor; } p { color: $myColor; }
现在 <p>
标签内的文本颜色将是绿色!
所以,CSS 输出将是:
CSS 输出:
h1 { color: green; } p { color: green; }
提示:应该在任何规则之外定义全局变量。明智的做法是在其自己的文件中定义所有全局变量,名为 "_globals.scss",并使用 @include 关键字包含该文件。