Sass 变量

Sass 变量

变量是一种存储信息的方法,您可以在以后重复使用。

使用 Sass,您可以将信息存储在变量中,如:

  • strings
  • numbers
  • colors
  • booleans
  • lists
  • nulls

Sass 使用 $ 符号(后跟名称)来声明变量:

Sass 变量语法:

  1. $<i>variablename</i>: value ;

以下实例声明了名为 myFont、myColor、myFontSize 和 myWidth 的 4 个变量。声明变量后,您可以在任何地方使用这些变量:

Sass 语法:

  1. $myFont: Helvetica, sans-serif;
  2. $myColor: red;
  3. $myFontSize: 18px;
  4. $myWidth: 680px;
  5. body {
  6. font-family: $myFont;
  7. font-size: $myFontSize;
  8. color: $myColor;
  9. }
  10. #container {
  11. width: $myWidth;
  12. }

因此,当传输 Sass 文件时,它接受变量(myFont、myColor 等)并输出普通 CSS 与变量值,如下所示:

CSS 输出:

  1. body {
  2. font-family: Helvetica, sans-serif;
  3. font-size: 18px;
  4. color: red;
  5. }
  6. #container {
  7. width: 680px;
  8. }

变量范围

只有在嵌套变量时才定义变量的级别。

看看下面的例子:

Sass 语法:

  1. $myColor: red;
  2. h1 {
  3. $myColor: green;
  4. color: $myColor;
  5. }
  6. p {
  7. color: $myColor;
  8. }

<p> 标签内的文本颜色是红色还是绿色?它将是红色的!

另一个在 <h1>规则中定义的 $myColor : green; 并且仅在那里可用!

因此,CSS 输出将是:

  1. h1 {
  2. color: green;
  3. }
  4. p {
  5. color: red;
  6. }

以上,这是默认的变量范围。


使用 Sass !global

默认的变量范围可以使用 !global 来重写为全局。

!global 表示变量是全局的,这意味着它可以在所有级别上访问。请看以下示例(与上面相同;但添加了 !global):

  1. $myColor: red;
  2. h1 {
  3. $myColor: green !global;
  4. color: $myColor;
  5. }
  6. p {
  7. color: $myColor;
  8. }

现在 <p> 标记内的文本颜色将为绿色!

因此,CSS 输出将是:

  1. h1 {
  2. color: green;
  3. }
  4. p {
  5. color: green;
  6. }
提示:全局变量应该定义在任何规则之外。明智的做法是在自己的文件中定义所有全局变量,名为 "_globals.scss",并使用 @include 关键字包含该文件。