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 關鍵字包含該文件。