一、Less語法
1.變量聲明:
@變量名:變量值;
1 @newHeight:20px;
2.調(diào)用變量:
1 .box {2 width: @newHeight;3 height: @newHeight; 4 }
3.多重繼承(Mixins):調(diào)用已有的類作為自己成員
1 .box1 {2 .box;3 }
4.帶參數(shù)函數(shù):
1 .newBox(@newWidth) {2 height: @newWidth;3 }4 .box2 {5 .newBox(20px);6 }
5.嵌套:(CSS中不能存在嵌套)
1 .box1 {2 height: 200px;3 width: 100px;4 .box2 {5 height: 200px;6 width: 50px;7 }8 }
1 /*以下兩種格式的代碼實(shí)現(xiàn)的是同一種效果*/ 2 a { 3 &:hover { 4 color: red; 5 } 6 } 7 8 a:hover { 9 color: red;10 }
二、Sass/Scss語法
Sass省去了CSS中的作為表示作用域的花括號(hào){}和語句末尾的分號(hào); ,改用縮進(jìn)和換行;以“.sass”結(jié)尾的文件;
Scss也是Sass的一種形式,它的語法中使用{}和;,變量使用$聲明;通常一般用Scss,以“.scss”結(jié)尾的文件。
1.變量聲明和調(diào)用:
1 /*聲明*/2 $newWeight: 30px;3 /*調(diào)用*/4 .box {5 width: $newWeight;6 }
2.屬性嵌套:
1 /*將box1的border設(shè)置為1px solid red的邊框*/ 2 .box1 { 3 wiodth: $newWeight; 4 border: { 5 top: 1px solid red; 6 right: 1px solid red; 7 bottom: 1px solid red; 8 left: 1px solid red; 9 }10 }
3.混合宏:
1 /*聲明不帶參數(shù)的混合宏*/ 2 @mixin newName { 3 width: 50px; 4 } 5 /*調(diào)用不帶參數(shù)的混合宏*/ 6 .box { 7 @include newName; 8 } 9 /*聲明帶參數(shù)的混合宏*/10 @mixin newName($newColor) {11 background-color: $newColor;12 }13 /*調(diào)用帶參數(shù)的混合宏*/14 .box2 {15 @include newNmae(red);16 }
4.繼承:
1 .global {2 3 outline: 1px solid red;4 }5 /*繼承使用extend*/6 input[type="text"] {7 color: yellow;8 @extend .golbal;9 }
5.占位符:
1 %test {2 width: 20px;3 }4 .box {5 @extend %test;6 }
用占位符聲明的類,若一直沒有調(diào)用,則不會(huì)在編譯后的“.css”文件中存在占位符的類。