SASS的基本語法

2021-10-03 06:37:38 字數 4799 閱讀 5221

了解 sass

sass是 css 的預編譯語言,可以把檔案編譯成 css 檔案。

sass可以定義變數、可以定義函式、 可以有 if 語句 可以有 for 迴圈語句,能使你敲**的速度的變得更高更快更強。

.sass 檔案 和 .scss 檔案的區別

+ 在 .scss 檔案裡面和寫 css 的語法基本一致

+ 在 .sass 檔案裡面就沒有大括號 和 分號, 全部依靠縮進來維持關係

+ 這兩個檔案被編譯成 css 檔案以後是一樣的

sass的安裝

sass 的變數

在 sass 裡面定義乙個變數,一次定義多次使用

語法: $名字: 值;

注意:你的變數名是 $名字,值不需要引號

使用: 直接使用變數名即可,只要變數的值修改了,那麼所有使用這個變數的位置就都修改了

例:

// 定義了三個叫做 $color、$fs、$border 的變數

$color: green;

$fs:

30px;

$border:

10px solid #333

;div

p a

效果:

div 

p a

sass 的條件分支語句

其實就是

依賴於變數使用

// 準備乙個變數

$type: c;

div

}p @else

}h1 @else

if $type == b @else

if $type == c

}

效果:

div 

p h1

sass 的迴圈語句

例:

/* for 迴圈 */

// 這個迴圈的數字變化是 1 2, 不包含 3

@for $i from

1 to 3)}

// 這個迴圈的數字變化是 1 2 3

@for $i from

1 through 3

)}

/* each 迴圈 */

$colorarr:(1

, red),(

2, green),(

3, skyblue),(

4, purple),(

5, orange),(

6, yellow)

;li

@each $index, $color in $colorarr

)}

效果:

/* each 迴圈 */

li li:nth-

child(1

)li:nth-

child(2

)li:nth-

child(3

)li:nth-

child(4

)li:nth-

child(5

)li:nth-

child(6

)

sass選擇器巢狀

sass的選擇器巢狀和 html 一樣讓選擇器也有乙個上下級的關係

後代選擇器巢狀

語法: 父級 }

子代選擇器巢狀

語法: 父級 }

連字元選擇器巢狀

偽類選擇器和偽元素選擇器巢狀

當你需要的偽類和偽元素和選擇器連線在一起的時候

使用 & 連線符操作

語法: 選擇器 }

群組選擇器的巢狀(使用太少)

語法: 群組選擇器 }

語法: 選擇器 }

語法: 群組選擇器 }

例:

/* 1. 後代選擇器巢狀 */

div }}

}/* 2. 子代選擇器巢狀 */

div

} a

} ul

> ol

}/* 3. 連字元選擇器巢狀 */

div &:

:before

}li

&:nth-

child(2

)}p }

/* 4. 群組選擇器巢狀 */

.box1,

.box2,

.box3

}div

}.box1,

.box2

}

效果:

/* 1. 後代選擇器巢狀 */

div

div p

div p span

div p span a

/* 2. 子代選擇器巢狀 */

div

div > p

div > p > span

div > p > span i

div > p a

div ul

div > ol

/* 3. 連字元選擇器巢狀 */

div

div:hover

div:

:before

li:nth-

child(1

)li:nth-

child(2

)p p.active

/* 4. 群組選擇器巢狀 */

.box1,

.box2,

.box3

.box1 p,

.box2 p,

.box3 p

div

div .box1, div .box2, div .box3

.box1,

.box2

.box1 .list1,

.box1 .list2,

.box2 .list1,

.box2 .list2

sass的屬性巢狀例:

div 

; margin:;}

p ;}span

;}

效果:

div 

p span

sass混合器

類似於 js 裡面的函式

js 的函式 function 函式名(形參) {}

例:

/* 使用方式一 */

// 先準備乙個混合器

// 不使用的時候是不會被編譯的

@mixin transition

div

h1 /* 使用方式二 */

// 在定義混合器的時候設定幾個引數

// 由呼叫的時候傳遞的實參決定

@mixin transition

($t, $p, $d, $tf)

div

p /* 使用方式三 */

// 在定義混合器的時候可以傳遞乙個引數預設值

// 如果傳遞了實參, 就用傳遞的

// 如果沒有傳遞實參, 那麼就是用預設值

@mixin transition

($t:

1s, $p: all, $d:

0s, $tf: linear)

div

p h1

h4

效果:

/* 使用方式一 */

div

h1 /* 使用方式二 */

div

p /* 使用方式三 */

div

p h1

h4

sass的繼承

就是使用另乙個規則集的樣式

當你在寫乙個樣式的時候 你發現和之前寫的乙個規則集的樣式一摸一樣,就把剛才寫的直接拿下來

div 

p .list

#box

h5

效果:

div, p,

.list

p,.list

.list

#box, h5

sass的匯入

就是把別的檔案拿到我這裡執行

平時開發的時候會寫乙個 base.css 的檔案: * 這樣的公共樣式檔案, 這個公共樣式檔案每個 html 檔案都會引入,如果我們在公共檔案裡面把所有需要用到的變數都定義好,那你再寫每乙個檔案的時候 只要匯入這個 base.scss 就有了公共樣式和這些變數了。

匯入的語法: 語法: @import 「你要匯入的檔名稱」;

專門定義乙個 variable.scss 的檔案, 這裡專門就寫所有的變數

專門定義乙個 mixin.scss的檔案,這裡面專門就寫所有的混合器

例:

// 匯入 解釋sass變數的那個檔案

@import

"./01_變數.scss"

;h1

效果:

div 

p a

h1

家中逆戰,無畏疫情,武漢加油,中國加油,人類必勝!!!

指導老師:郭翔

Sass語法 一 基本用法

編譯後的css meng 在日常編輯過程中,可以給變數新增預設值 default 標誌。如果在其變數值沒有單獨設定,那麼就用新增預設值的變數值。若設定了,那麼就用重新設定的變數值。如下 變數可以乙個乙個的宣告,也可以多個一起宣告。多個一起宣告,用起來是比較方便的,特別是宣告相似功能的變數。a.全域性...

Sass安裝及基本語法

sass 是乙個 css 預處理器。sass 是 css 擴充套件語言,可以幫助我們減少 css 重複的 節省開發時間。sass 完全相容所有版本的 css。sass 擴充套件了 css3,增加了規則 變數 混入 選擇器 繼承 內建函式等等特性。sass 生成良好格式化的 css 易於組織和維護。s...

sass的高階語法

1.變數 sass允許使用變數,所有變數以 開頭 2.引用父元素 這裡 就代表是 a 3.繼承 這樣 class2 就 擁有了class1的所有屬性 4.可以重複使用的 塊 5.混入,呼叫可以重用的 塊 如果你用 mixin定義了 那麼呼叫需要使用 include 引用 6.計算 就是簡單的加減乘除...