顏色函數(shù):
lighten(#cc3, 10%) // #d6d65c
darken(#cc3, 10%) // #a3a329
grayscale(#cc3) // #808080
complement(#cc3) // #33c
循環(huán)
1. @for
@for 指令可以在限制的范圍內(nèi)重復(fù)輸出格式,每次按要求(變量的值)對輸出結(jié)果做出變動烦却。這個指令包含兩種格式:@for $var from <start> through <end>
脖岛,或者 @for $var from <start> to <end>
从撼。
區(qū)別:
through:包含 <start> 與 <end> 的值录别;
to:只包含 <start> 的值不包含 <end> 的值
@for $i from 1 through 3 {
.item-#{$i} { width: 2em * $i; }
}
2. @each
@each
指令的格式是 $var in <list>
, $var
可以是任何變量名畏鼓,比如$length
或者 $name
邮破,而 <list>
是一連串的值诈豌,也就是值列表。
@each
將變量 $var
作用于值列表中的每一個項目抒和,然后輸出結(jié)果矫渔,例如:
@each $type in info, danger, warning, success,primary {
.pango-link--#{$type}{
color: var(--link-#{$type}-color);
&:hover{
opacity: 0.8;
&::after{
background:var(--link-#{$type}-color);
}
}
}
}
3. @while
@while
指令重復(fù)輸出格式直到表達(dá)式返回結(jié)果為false
。這樣可以實現(xiàn)比 @for
更復(fù)雜的循環(huán)摧莽,只是很少會用到庙洼。例如:
$i: 6;
@while $i > 0 {
.item-#{$i} { width: 2em * $i; }
$i: $i - 2;
}
判斷
@if
當(dāng) @if
的表達(dá)式返回值不是false
或者 null
時,條件成立,輸出 {} 內(nèi)的代碼送膳。@if
聲明后面可以跟多個 @else if
聲明员魏,或者一個 @else
聲明。如果 @if
聲明失敗叠聋,Sass 將逐條執(zhí)行 @else if
聲明撕阎,如果全部失敗,最后執(zhí)行 @else
聲明碌补,例如:
$type: monster;
p {
@if $type == ocean {
color: blue;
} @else if $type == matador {
color: red;
} @else if $type == monster {
color: green;
} @else {
color: black;
}
}