一、sass簡介
CSS作為層疊樣式表,是一種靜态語言。CSS不是一個程式設計語言,我們可以用它來開發網頁樣式,但是沒有辦法用它進行程式設計。但SASS的出現,讓CSS實作了通過代碼程式設計來實作的方式。
SASS是一種CSS開發工具,提供了許多便利的寫法,讓CSS的處理實作了可程式設計處理。
SASS擴充了CSS3,增加了規則、變量、混入、選擇器、繼承等等特性,可以生成風格良好的CSS樣式表檔案,易于組織和維護。
二、sass安裝
官方文章:sass中文網安裝
檢視版本資訊,下圖說明安裝成功:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLycjM4MzN0kDMzAzNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
安裝流程:
1、安裝
Ruby
。sass基于Ruby語言開發而成,是以安裝sass前需要安裝Ruby,安裝過程中請注意勾選 Add Ruby executables to your PATH 添加到系統環境變量。(注:mac下自帶Ruby無需在安裝Ruby!)
2、終端測試安裝是否成功:
ruby -v
3、如上已經安裝成功。但因為國内網絡的問題導緻gem源間歇性中斷,是以我們需要更換gem源,更換成國内伺服器上的。
//1.删除并替換原gem源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
//2.列印是否替換成功,該指令可以檢視gem源
gem sources -l
結果列印:https://gems.ruby-china.com ( 確定隻有 gems.ruby-china.com )
4、安裝sass:
gem install sass
接着執行
gem install compass
安裝完成之後,通過運作下面的指令來确認應用已經正确地安裝到了電腦中(例如):
sass -v
結果列印:Sass 3.x.x (Selective Steve)
compass -v
結果列印:Compass 1.x.x (Polaris)
5、sass更新、檢視版本、sass指令幫助:
//更新sass
gem update sass
//檢視sass版本
sass -v
//檢視sass幫助
sass -h
注意:Compass是Sass的工具庫(toolkit)。
Sass本身隻是一個編譯器,Compass在它的基礎上,封裝了一系列有用的子產品和模闆,補充Sass的功能
參考文檔:sass-compass之一
三、sass編譯
參考文檔:SASS用法指南 阮一峰
官方文檔:編譯sass sass中文網
sass編譯有很多種方式,如指令行編譯模式、sublime插件SASS-Build、編譯軟體koala、前端自動化軟體codekit、Grunt打造前端自動化工作流grunt-sass、Gulp打造前端自動化工作流gulp-ruby-sass等。
SASS檔案的字尾名有兩種方式,.sass要求更嚴謹規範的文法不需要分号和大括号,而.scss可以有分号和大括号使用起來更簡便。
是以我們一般使用
.scss
檔案。
1、指令行編譯:
//在螢幕上顯示.scss檔案轉化的css代碼(假設檔案名為output)
sass test.scss
//單檔案轉換指令
sass input.scss output.css
//單檔案監聽指令(一旦源檔案有變動,就自動生成編譯後的版本)
sass --watch input.scss:output.css
//如果你有很多的sass檔案的目錄,你也可以告訴sass監聽整個目錄:
sass --watch app/sass:public/stylesheets
2、SASS提供四個編譯風格的選項:(四種編譯排版示範連結上方官方文檔)
- nested: 嵌套縮進的css代碼,它是預設值。
- expanded: 沒有縮進的、擴充的css代碼。
- compact: 簡潔格式的css代碼。
- compressed:壓縮後的css代碼。
生産環境當中,一般使用最後一個選項:
sass --style compressed test.sass test.css
選擇編譯格式并添加調試map:
sass --watch input.scss:output.css --style compressed --sourcemap
–style表示解析後的css是什麼排版格式;
–sourcemap表示開啟sourcemap調試。開啟sourcemap調試後,會生成一個字尾名為.css.map檔案。
另外還有一個 --debug-info,開啟debug資訊,不常用。
3、其他編譯方式: 軟體編譯,比如koala&codekit、Live Sass編譯器(VSCode擴充)
有篇文章:Visual Studio Code插件Live Sass Compiler可将Sass或Scss實時編譯為CSS
四、文法
官方文檔1:Sass中文網 快速入門
官方文檔2:Sass中文網 中文文檔
簡單使用:阮一峰的網絡日志
另附語:
@charset "utf-8"
//sass檔案裡,想要寫中文必須加字元集 “utf-8” 聲明,不然會報錯。
sass檔案中,變量的指派隻是單純的文本替換,跟css中的屬性值的寫法基本一樣。