Sass 变量
Sass 变量
变量是一种存储信息的方法,您可以在以后重复使用。
使用 Sass,您可以将信息存储在变量中,如:
- strings
- numbers
- colors
- booleans
- lists
- nulls
Sass 使用 $ 符号(后跟名称)来声明变量:
Sass 变量语法:
$<i>variablename</i>: value ;
以下实例声明了名为 myFont、myColor、myFontSize 和 myWidth 的 4 个变量。声明变量后,您可以在任何地方使用这些变量:
Sass 语法:
$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 输出:
body {
font-family: Helvetica, sans-serif;
font-size: 18px;
color: red;
}
#container {
width: 680px;
}
变量范围
只有在嵌套变量时才定义变量的级别。
看看下面的例子:
Sass 语法:
$myColor: red;
h1 {
$myColor: green;
color: $myColor;
}
p {
color: $myColor;
}
<p>
标签内的文本颜色是红色还是绿色?它将是红色的!
另一个在 <h1>规则中定义的 $myColor : green;
并且仅在那里可用!
因此,CSS 输出将是:
h1 {
color: green;
}
p {
color: red;
}
以上,这是默认的变量范围。
使用 Sass !global
默认的变量范围可以使用 !global
来重写为全局。
!global 表示变量是全局的,这意味着它可以在所有级别上访问。请看以下示例(与上面相同;但添加了 !global
):
$myColor: red;
h1 {
$myColor: green !global;
color: $myColor;
}
p {
color: $myColor;
}
现在 <p>
标记内的文本颜色将为绿色!
因此,CSS 输出将是:
h1 {
color: green;
}
p {
color: green;
}
提示:全局变量应该定义在任何规则之外。明智的做法是在自己的文件中定义所有全局变量,名为 "_globals.scss",并使用 @include 关键字包含该文件。