DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> Sass教程 >> 3.2 數據類型
3.2 數據類型
編輯:Sass教程     

跟JavaScript一樣,Sass也有屬於自己的數據類型。在Sass中,共有7種數據類型:

  • (1)數字值;
  • (2)字符串;
  • (3)布爾值;
  • (4)顏色值;
  • (5)列表值;
  • (6)Map值;
  • (7)空值null;

接下來,我們在這一節詳細介紹一下Sass種的7種數據類型。

一、數字值

在Sass中,數字(Number)是最基本的數據類型,可以是正數、0或負數。數字在Sass中使用非常廣泛,大多數都是結合CSS單位來實現的,例如10px、10em或者10%。雖然它們帶有單位,但是技術上依然算是數字。

舉例:

 
$lineHeight:1.5;
$fontSize:14px;
$width:50%;
div
{
    lineHeight:$lineHeight;
    font-size:$fontSize;
    width:$width;
}

編譯出來的CSS代碼如下:

 
div
{
    line-height:1.5;
    font-size:14px;
    width:50%;
}

分析:

小伙伴們對於“line-height:1.5;”這個可能感到比較陌生,line-height屬性為什麼可以取無單位的數值呢?事實上,line-height屬性非常復雜,具體請查看“HTML和CSS進階教程”中“7.4 深入line-height”這一節。

二、字符串

在JavaScript中,使用單引號('')或雙引號("")包含的都是字符串,就算它們包含的是一個空格,那也是字符串。但是Sass中的字符串跟JavaScript中的字符串有點不一樣。

在Sass中,共有2種字符串:

  • (1)有引號的字符串;
  • (2)無引號的字符串;

無引號字符串,我們在CSS中是經常遇到的,例如“font-weight:bold”中的bold、“font-family:sans-serif;”中的sans-serif等。Sass引入無引號字符串的目的也是為了與CSS語法一致。

舉例:有引號字符串

 
$logoUrl: "images/logo.png";
$cursorUrl: "images/default.cur";
$text:" 學習網";
div
{
    background-image:url($logoUrl);
    cursor:url($cursorUrl),default;
}
div:before
{
    content:$text;
}

編譯出來的CSS代碼如下:

 
div
{
    background-image:url("images/logo.png");
    cursor:url("images/default.cur"),default;
}
div:before
{
    content:" 學習網";
}

舉例:無引號字符串

 
$str1:sans-serif;
$str2:bold;
div
{
    font-family:$str1;
    font-weight:$str2;
}

編譯出來的CSS代碼如下:

 
div 
{
    font-family: sans-serif;
    font-weight: bold;
}

三、布爾值

數字值和字符串這2種數據類型的取值有無數種,但是Sass中的布爾值只有2種取值:true和false。

在Sass中,布爾值一般用於“@if…@esle…語句”條件判斷,只有條件表達式結果是false或null才會返回false,其他一切將返回true。

舉例:無引號字符串

 
$a:10px;
$b:5px;
div
{
    @if($a>$b)
    {
        display:block;
    }
    @else
    {
        display:none;
    }
}

編譯出來的CSS代碼如下:

 
div
{
    display:block;
}

分析:

Sass中的“@if...@else...”跟JavaScript中的“if...else...”是一樣的,這個語句我們在後面“Sass @if語句”這一節中會詳細介紹。

在這個例子中,($a>$b)返回的是true,所以div的display屬性最終取值為block。

四、顏色值

在Sass,有一種特殊的數據類型,那就是“顏色值”。Sass中的顏色值共有4種:

  • (1)關鍵字顏色值,如red;
  • (2)十六進制顏色值,如#FFFF00;
  • (3)RGB顏色值,如rgb(255,255,0);
  • (4)HSL顏色值,如;hsl(360,50%,50%);

這幾種顏色值都是可以互相轉換的,在Sass的顏色運算中,我們都是統一轉換為十六進制顏色值然後再計算。對於“Sass顏色運算”,我們在後面章節會詳細介紹。

舉例:

 
$fontColor:#FF00FF;
$bgColor:blue;
div
{
    color:$fontColor;
    background-color:$bgColor;
}

編譯出來的CSS代碼如下:

 
div
{
    color: red;
    background-color: #FF00FF;
}

五、列表值

在Sass中,為我們提供了一種“列表值”的數據類型,這種數據類型跟JavaScript中的數組是相似的,我們可以把它比作“Sass中的數組”。

Sass列表值有2種語法格式,一種是由英文逗號隔開的分隔值,另外一種是由空格隔開的分隔值。

語法:

 
$列表名: 值1 , 值2 , ... , 值n;
$列表名: 值1  值2  ... 值n;

說明:

在Sass中,列表值可以包含0個、1個或多個值,甚至還可以包含多個“子列表值”。Sass中的列表值,往往都是用來處理CSS中類似於以下的屬性取值:

 
margin:10px 20px 30px 40px;
padding:10px 20px 30px 40px;
font-family:Microsoft YaHei,Arial,Helvetica,sans-serif;

舉例:

 
$font: Arial,Helvetica,sans-serif;
$margin:20px 40px;
$border:1px solid gray;
div
{
    font:$font;
    margin:$margin;
    border:$border;
}

編譯出來的CSS代碼如下:

 
div 
{
    font: Arial, Helvetica, sans-serif;
    margin: 20px 40px;
    border: 1px solid gray;
}

分析:

對於列表值,Sass為我們提供了很多內置的函數,在後面“Sass列表函數”這一章我們會詳細介紹。這裡我們只需要簡單認識一下就可以了。

六、Map值

在Sass中,還為我們提供了另外一種特殊數據類型:Map值。Map值跟JSON值是非常相似的,數據都是以“鍵/值”的方式成對出現。

語法:

 
$變量名:
(
    鍵名1:值1,
    鍵名2:值2,
    ……
    鍵名n:值n
);

說明:

Map值的語法結構都是以“(”開始,到“)”結束的。其中“鍵名”和“值”之間用英文冒號構成對,兩個“鍵名:值”之間用英文逗號分隔。此外還要注意一下,最後一對“鍵/值”後面是不需要逗號的。

舉例:

 
$theme-color: 
(
    default: 
    (
        bgcolor: #fff,
        text-color: #444,
        link-color: #39f
    ),
    primary:
    (
        bgcolor: #000,
        text-color:#fff,
        link-color: #93f
    ),
    negative: 
    (
        bgcolor: #f36,
        text-color: #fefefe,
        link-color: #d4e
    )
);

分析:

對於Map值,Sass為我們提供了很多內置的函數,在後面“Sass Map函數”這一章我們會詳細介紹。這裡小伙伴們不需要深入了解Map值,只需要簡單認識一下就可以了。

此外,對於JSON,可以關注我們的“JSON教程”,對比理解一下。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved