css預處理器,生成文件後綴scss
,能夠編譯成css文件,被html引用,但不能替代css。css
gem install sass
sass t.scss
;sass t.scss t.css
;sass --style compressed t.scss t.css
sass --watch t.scss:t.css
或者 sass --watch app/t.css:pubic/stylesheet
$black:#000 //變量定義 border-#{$side}-radius: 5px; //變量嵌套在字符串中 #{} right:$argu*.3 //能夠計算 div{a{...}}; //能夠嵌套 p{border:{color:#000}} //屬性能夠嵌套,須要用冒號 a{&:hover{color:#000}} //能夠用&引用父元素, /*!重要註釋,壓縮會保留 */
@extend
.class2 {@extend .class1;}
@minxin keymap($value: 10px){ //能夠指定參數和缺省 left:$value } div{ @include keymap } //實例,用來生成瀏覽器前綴 @mixin rounded($vert, $horz, $radius: 10px) { border-#{$vert}-#{$horz}-radius: $radius; -moz-border-radius-#{$vert}#{$horz}: $radius; -webkit-border-#{$vert}-#{$horz}-radius: $radius; }
@import
等同於css的 @import
命令html
函數保留字須要加上@:@for
能夠自定義函數web
@function pow($x,$y){ @if($x>$y){ @for $i from 0 through 1{ $x : 1; } }@else{ $y:1; } @return $x+$y; } $res:pow(1,0)+px; div{ @if(true){ font-size:$res; }@else{ font-size: 10px; } } //編譯結果 div { font-size: 1px; }