什么是Sass、Less
Sass和Less都屬于Css預(yù)處理器,Css預(yù)處理器定義了一種新的語言,其基本思想是用一種專門的編程語言,為Css增加一些編程的特性,將Css作為目標(biāo)生成文件,然后開發(fā)者使用這種語言進(jìn)行Css編碼工作(用一種專門的編程語言,進(jìn)行Web網(wǎng)頁樣式設(shè)計(jì),再通過編譯器轉(zhuǎn)化為正常的Css文件,以供項(xiàng)目使用)。
為什么要使用Sass、Less
因?yàn)閏ss只是單純的屬性描述,它并不具有變量、條件語句等,css的特性導(dǎo)致了它難組織和維護(hù)。
Less與Sass的共性:
- 混合(Mixins):將一個(gè)定義好的classA引入到另一個(gè)classB中,從而簡單實(shí)現(xiàn)classB繼承了classA的所有屬性;
- 參數(shù)混合(Parametric):可以像函數(shù)一樣傳遞參數(shù)的class
- 嵌套規(guī)則:class中嵌套class,從而減少重復(fù)的代碼
- 運(yùn)算:css中的數(shù)學(xué)計(jì)算
- 顏色功能:可以編輯你的顏色
- 命名空間:樣式分組,從而方便被調(diào)用
- 作用域:局部修改樣式
- JavaScript表達(dá)式:在css樣式中使用javaScript表達(dá)式賦值
Less與Sass的不同:
Less是基于JavaScript的在客戶端處理,很多開發(fā)者不會(huì)選擇Less因?yàn)閖avaScript引擎需要額外的時(shí)間來處理代碼然后輸出修改過的Css到瀏覽器【解決:只在開發(fā)階段使用Less,一旦開發(fā)完成,復(fù)制Less輸出的到一個(gè)壓縮器,然后用一個(gè)單獨(dú)的css文件來代替Less文件;另一種方式是使用Less App來編譯和壓縮你的Less文件;這兩種方式都是最小化樣式輸出】
Sass是基于ruby在服務(wù)器處理