分享一下這兩天搞 sass 的學習成果。css
直接點擊下圖,可觀看視頻教程html
本文主要分爲三個部分,分別是git
安裝 sass 工具, 很簡單,參考官方文檔github
連接在這裏 https://www.sasscss.com/installjson
主要介紹一下開發環境。以 VSCODE 爲例,sass
我安裝了這樣幾個插件分別是:函數
須要修改插件配置話,快捷鍵 command + ,
,打開 vscode 配置。工具
查找 sass live
找到相應的配置,增長我的配置:post
"liveSassCompile.settings.formats": [ { "format": "compressed", "extensionName": ".css", "savePath": "./dist" } ],
這裏主要介紹實際項目中最經常使用的基礎語法。學習
在 sass 中主要支持兩種語法格式,分別以 .scss
、 .sass
做爲後綴。
.scss 語法相似 css 語法
.sass 語法更簡潔,可是切換起來有點麻煩
因此,推薦使用 .scss 語法
若是將樣式設計看作一個黑盒的話,變量,就是是這個黑盒對外開放的接口。
變量定義的方式,很簡單。
$background-color: red;
div h1 { color : red; }
嵌套語法的格式是
div { h1 { color : red; } }
爲了讓 sass 預處理,區分 主 css 文件與 子 css 文件的區別,增長了文件名稱的 _
前綴。
未進行 _
前綴的 css 文件不會被當成子文件處理。
@import 子文件時,不須要,明確設置 _
前綴與 .scss
或是 .sass
後綴。這些,在 @import 時會被自動補齊。
@mixins 相似於 c 語言中的 宏定義,經過 @mixins 定義能夠簡化 css 重複代碼的使用。
常規使用方式,有兩種:
@mixin border { border: 1px solid blue; } div { @include border; }
生成的代碼是:
div { border: 1px solid blue; }
@mixin mobile { @media screen and (max-width: 768px) { @content; } } body { background-color: blue; } @include mobile { body { background-color: red; } }
這樣生成的代碼就是:
body { background-color: blue; } @media screen and (max-width: 768px) { body { background-color: red; } }
這種寫法,會被常常使用在響應式樣式設計上。
至於 @mixin 模塊的參數傳遞很是簡單,你們參考相關文檔。
函數操做,主要分爲:
內嵌函數
@function double($n) { @return $n * 2; } #top { width: double(5px); }
不過,即便 sass 提供了豐富函數操做,咱們必須記住一點,就是:
sass 是一門預處理語言,其執行的階段是在程序的與編譯階段。
一些想要實現執行期(runtime)樣式動態變化的功能,不是 sass 能夠作的事。
關於 執行期(runtime)樣式 的技術, 你們能夠參考 styled-components
這個項目。
到底一個真實的手機優先的 sass 項目是如何實現的,下面咱們就來實操一下整個過程。
具體項目地址: gitdigg/sass-demo
閱讀全文,請訪問 Sass 環境/語法/手機優先項目實踐
視頻教程,請點擊動圖。