sass是舊版本的預處理語言,scss增加了css3的一些特性,並且支持css的拼寫規則,也就是{}跟;
mac:
首先是安裝sass,先檢查系統是否有ruby,在終端輸入“ruby -v”,沒有Ruby的話,可以用brew安裝,不詳說了。
有Ruby的情況下,打開終端,輸入“sudo gem install sass”,這裏需要等待大約一分鐘,如果安裝失敗,大多數可能是被牆了,翻牆的方法自己找,然後再重複上面的命令。
查看是否安裝成功:在終端輸入sass -v,成功了會有以下
新建文件test.scss,輸入$color:#fff;body{color:$color;},在終端進入test所在的文件夾,輸入“sass --watch test.scss:test.css”,打開test.css查看是否編譯成功
sass可以自己定義變量,語法格式我就不說太多了
scss跟sass主要區別可以從以下圖片看出來:
sass有以下三種編譯命令
單文件編譯:sass <要編譯的Sass文件路徑>/style.scss:<要輸出CSS文件路徑>/style.css
多文件編譯:sass sass/:css/
以上方法每次文件有變動都需要重新運行命令進行編譯,太過麻煩,可以使用watch命令進行自動檢測:
sass --watch <要編譯的Sass文件路徑>/style.scss:<要輸出CSS文件路徑>/style.css
例子:sass --watch test.scss:test.css還有Grunt以及Gulp的方法,但是我還沒了解過。
scss還可以用不同的風格輸出:
各種風格可以自己嘗試一下,不過項目要上線還是推薦壓縮輸出,代碼格式如下:
sass --style compressed(風格) --watch releaseMsg.scss:releaseMsg.css
sass可以在瀏覽器中調試: sass --watch --scss --sourcemap style.scss:style.css
sass 的默認變量僅需要在值後面加上 !default 即可
sass 的默認變量一般是用來設置默認值,然後根據需求來覆蓋的,覆蓋的方式也很簡單,只需要在默認變量之前重新聲明下變量即可。
定義在元素外的是全局變量,定義在元素內的是局部變量。儘量在變量有複用的時候定義變量,不要爲了定義變量而定義變量。