css預處理器。其實還有用的不少的less,stylus。
SASS支持全部css語法
基礎的文件命名方法以_開頭css
SASS編譯工具
?官方下載地址,下載對應版本html
用法:sass
demo.scssapp
$bg-color : #00a1e9; $bg-red : red; $nav-height : 50px; body{ background: $bg-color; } .demo{ height:$nav-height / 2; }
編譯文件 demo.cssless
body { background: #00a1e9; } .demo { height: 25px; }
demo.scsskoa
a{ &:hover{ .demo{ background: $bg-red; } } }
編譯文件 demo.css函數
a:hover .demo { background: red; }
demo.scss工具
.sub-title { color: #666; margin: 0; text-align: center; font-size: 32px; font-weight: bold; } p { @extend .sub-title; background: #fff; }
編譯文件 demo.csscode
.sub-title, p { color: #666; margin: 0; text-align: center; font-size: 32px; font-weight: bold; } p { background: #fff; }
sass經過關鍵字 @mixin定義相似函數 格式:@mixin 函數名(){ }
經過@include 引入函數htm
封裝函數能夠寫在一個單獨的sass文件裏,方便管理 //兼容ie opacity封裝 @mixin opacity($opacity){ opacity: $opacity; filter: alpha(opacity=$opacity * 100); } //使用 .demo{ @include opacity(1); } ---------- //編譯結果 .demo { opacity: 1; filter: alpha(opacity=100); }
好比:項目中有基礎文件 _mixin.scss _header.scss _footer.scss 文件index.scss正好也須要引入這三個基礎文件 @import "mixin"; @import "header"; @import "footer"; 引入基礎的scss,不須要下劃線和後綴名