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;
}
$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;
}
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;
}
h1 {
$myColor: green; // 只在 h1 裏頭有用,局部作用域
color: $myColor;
}
p {
color: $myColor;
}
將以上代碼轉換為 CSS 代碼,如下所示:
Css 代碼:
h1 {
color: green;
}
p {
color: red;
}
color: green;
}
p {
color: red;
}
!global
當然 Sass 中我們可以使用 !global 關鍵字來設置變數是全局的:
Sass 代碼
$myColor: red;
h1 {
$myColor: green !global; // 全局作用域
color: $myColor;
}
p {
color: $myColor;
}
h1 {
$myColor: green !global; // 全局作用域
color: $myColor;
}
p {
color: $myColor;
}
現在 p 標籤的樣式就會變成 green。
將以上代碼轉換為 CSS 代碼,如下所示:
Css 代碼
h1 {
color: green;
}
p {
color: green;
}
color: green;
}
p {
color: green;
}
注意:所有的全局變數我們一般定義在同一個檔,如:_globals.scss,然後我們使用 @include 來包含該檔。