Sass 變數

變數用於存儲一些資訊,它可以重複使用。

Sass 變數可以存儲以下資訊:

  • 字串
  • 數字
  • 顏色值
  • 布爾值
  • 列表
  • null 值

Sass 變數使用 $ 符號:

$variablename: value;

以下實例設置了四個變數:myFont, myColor, myFontSize, 和 myWidth。

變數聲明後我們就可以在代碼中使用它:

Sass 代碼:

$myFont: Helvetica, sans-serif;
$myColor: red;
$myFontSize: 18px;
$myWidth: 680px;

body {
  font-family: $myFont;
  font-size: $myFontSize;
  color: $myColor;
}

#container {
  width: $myWidth;
}

將以上代碼轉換為 CSS 代碼,如下所示:

Css 代碼:

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: red;
}

#container {
  width: 680px;
}

Sass 作用域

Sass 變數的作用域只能在當前的層級上有效果,如下所示 h1 的樣式為它內部定義的 green,p 標籤則是為 red。

Sass 代碼:

$myColor: red;

h1 {
  $myColor: green;   // 只在 h1 裏頭有用,局部作用域
  color: $myColor;
}

p {
  color: $myColor;
}

將以上代碼轉換為 CSS 代碼,如下所示:

Css 代碼:

h1 {
  color: green;
}

p {
  color: red;
}

!global

當然 Sass 中我們可以使用 !global 關鍵字來設置變數是全局的:

Sass 代碼

$myColor: red;

h1 {
  $myColor: green !global;  // 全局作用域
  color: $myColor;
}

p {
  color: $myColor;
}

現在 p 標籤的樣式就會變成 green。

將以上代碼轉換為 CSS 代碼,如下所示:

Css 代碼

h1 {
  color: green;
}

p {
  color: green;
}

注意:所有的全局變數我們一般定義在同一個檔,如:_globals.scss,然後我們使用 @include 來包含該檔。