1.定義變數:Sass中定義變數的關鍵字是'$'(畢竟程式員缺錢),並使用冒號(:)進行賦值,例如: $width:200px;//定義了一個名為width的變數,值為200px 2.普通變數和預設變數: 普通變數便是我們在大括弧外用上面的方式聲明的變數,可全局使用。 預設變數需要在聲明的變數後加上 ...
1.定義變數:
Sass中定義變數的關鍵字是'$'(畢竟程式員缺錢),並使用冒號(:)進行賦值,例如:
- $width:200px;//定義了一個名為width的變數,值為200px
2.普通變數和預設變數:
普通變數便是我們在大括弧外用上面的方式聲明的變數,可全局使用。
預設變數需要在聲明的變數後加上 !default,如下:
- $lineHeight:1.5 !default;
預設變數可以理解為給變數一個初始值,在被使用到時,如果該變數沒有值,則使用這個預設值。在預設變數前或後定義普通變數,都會覆蓋掉預設變數的值。
- $lineHeight:2;
- $lineHeight:1.5 !default;
- .line{
- line-height:$lineHeight;
- }
- //結果就是:
- .line{
- line-height:2;
- }
其實也可以把預設變數理解成最低優先順序的變數,優先順序順序:!default<普通變數<!important
3.局部變數和全局變數
全局變數:在選擇器、函數、混合巨集等外面定義的變數。
局部變數:其實就是上邊的內容,反過來啦。
這裡我們來看一個例子:
- //SCSS
- $color: orange !default;//定義全局變數
- .block {
- color: $color;//調用全局變數
- }
- em {
- $color: red;//定義局部變數
- a {
- color: $color;//調用局部變數
- }
- }
- span {
- color: $color;//調用全局變數
- }
編譯出來的結果如下:
- //CSS
- .block {
- color: orange;
- }
- em a {
- color: red;
- }
- span {
- color: orange;
- }
可以看出在選擇器內部定義的局部變數優先順序更高。