Sass的數據類型

Sass 語言中支持的數據類型有下面幾種:

  • numbers:表示整數類型。
  • strings:在單引號 '' 或雙引號 "" 內定義的字符序列。
  • booleans:布爾類型,有 truefalse 兩個值。
  • colors:用於定義顏色值。
  • nulls:指定空值,是未知數據。
  • lists:值列表類型,表示由空格或逗號分隔的值。
  • maps:從一個值映射到另一個值。

numbers 類型

數字在 CSS 中應用的很廣泛,大多數都是結合單位一起使用的,但是在技術上依然算是數字。例如字體大小、長高、外邊距內邊距等。Sass 中也有數字(numbers )類型,數字類型的值可以做一些加減乘除的運算。

示例:

例如定義一個變量 $num,給這個變量賦一個數字類型的值:

$num:24px;

.xkd{
    font-size: $num - 4;
    padding: $num + 6px;
    width: $num * 5;
    border-radius: $num / 6;
}

編譯成 CSS 代碼:

.xkd {
  font-size: 20px;
  padding: 30px;
  width: 120px;
  border-radius: 4px;
}

上述代碼中,我們可以對這個變量進行加減乘除運算。但是需要注意,在使用數字類型進行計算時,如果值的單位不兼容會導致報錯,例如 12px + 2em ,執行代碼後會報錯 Error: Incompatible units: 'em' and 'px'.,告訴我們單位不兼容。

string 類型

Sass 中的字符串可以使用單引號 '' 或者雙引號 "" 包圍,例如 "hello"'hello',即使包圍的是一個空格,也算是字符串。字符串也可以不使用引號包圍,例如 hello,也表示一個字符串。

示例:

我們定義一個字符串類型的變量:

$msg:"hello";

.one{
    content: $msg;
    .two{
        content: $msg + ' ' + summer;
    }
}

編譯成 CSS 代碼:

.one {
  content: "hello";
}
.one .two {
  content: "hello summer";
}

booleans 類型

booleans 類型爲布爾類型,此類型只有兩個值,即 truefalse。在 Sass 中,只有當值爲 false 或者 null 時,纔會返回 false。其他的一切值都會返回 true

示例:
.one{
    a:type-of(true);
    b:type-of(false);
    c:type-of(10);
    d:type-of(null);
}

編譯成 CSS 代碼:

.one {
  a: bool;
  b: bool;
  c: number;
  d: null;
}

上述代碼中的 type-of() 函數用於檢測一個值的數據類型,可以看到只有 truefalse 兩個值的數據類型爲布爾值。

color 類型

Sass 中的 color 類型表示顏色類型,可以包括所有的顏色值,例如十六進制顏色值、顏色名稱、rgbrgbahslhsla 等。

示例:
$color1:pink;
.one{
    color: $color1;
    background-color: $color1 + blue;
}

編譯成 CSS 代碼:

.one {
  color: pink;
  background-color: #ffc0ff;
}

從上述代碼中可以看出,顏色值也是可以計算的,在進行計算時會先將顏色值轉換爲十六進制值,然後進行計算。

nulls類型

null 類型是 Sass 中最基本的數據類型,表示一個空值,也就是說沒有任何值。雖然說 null 表示什麼都沒有,但是當我們使用 length() 函數返回長度時,返回值爲1。這是因爲null仍然表示的是一個真實存在的實體,只不過它不代表任何值。

示例:
$var:null;
.one{
    type: type-of($var);
    length:length($var);
}

編譯成 CSS 代碼:

.one {
  type: null;
  length: 1;
}

lists類型

Sass 中的列表類型是由空格或者逗號分隔的一系列的值。

示例:
$padding: 10px 20px 30px 40px;
$font:Arial,sans-serif,Helvetica;
.one{
    padding: $padding;
    font-family: $font;
}

編譯成 CSS 代碼:

.one {
  padding: 10px 20px 30px 40px;
  font-family: Arial, sans-serif, Helvetica;
}

列表中除了可以包含簡單的值,還可以嵌套列表,例如下面這個列表就表示含有三個值,而不是四個值:

$list: 1, 2 100, 3;

等同於:

$list: 1, (2 100), 3;

maps類型

在 Sass 中,maps 類型表示映射類型。常以鍵值對(key/value)的形式出現。在定義映射時,整個映射必須通過小括號() 括起來,值與值之間使用逗號分隔。

maps 中,一個給定的 key 只能有一個相關的 value,但一個給定的 value 可以被映射到許多不同的 key上。 value 值可以是任何數據類型,包括 maps

示例:
$color-map: (color1: #fa0000, color2: #fbe200, color3: #95d7eb);
.one{
    color: map-get($color-map,color1);
    background-color: map-get($color-map, color2);
}

編譯成 CSS 代碼:

.one {
  color: #fa0000;
  background-color: #fbe200;
}

上述代碼中,創建了一個名爲 $color-map 的映射,這個映射中有三個鍵值對,分別爲不同的 CSS 顏色值。其中 map-get 函數用於提供映射的值,可以接受兩個參數,第一個參數爲映射名稱,第二個參數爲需要取的 key 值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章