CSS 是一門非程序式語言初茶,沒有變量、函數(shù)浊闪、SCOPE(作用域)纺蛆,需要書寫大量看似沒有邏輯的代碼吐葵,不方便維護及擴 展,不利于復用桥氏,為了讓程序員更方便的開發(fā),便研究出了Sass和less猛铅。
Sass是對CSS(層疊樣式表)的語法的一種擴充一款CSS預處理器語言字支,它 可以使用變量、常量奸忽、嵌套堕伪、混 入、函數(shù)等功能栗菜,可以更有效有彈性的寫出CSS欠雌。
less是單獨的一種文件,可以理解為css的升級版疙筹,完全按照css寫也沒問題富俄,不過它提供了很多便利的東 西, 可以省好多代碼量而咆。第二個霍比,html只認css,所以需要配套一些軟件將less解析成css,引用時候,直接引用css 就好暴备。
SASS/SCSS悠瞬、LESS有什么區(qū)別?
1.編譯環(huán)境不一樣
Sass的安裝需要Ruby環(huán)境,是在服務端處理的涯捻,而Less是需要引入less.js來處理Less代碼輸出css到瀏覽器浅妆,也可 以在開發(fā)環(huán)節(jié)使用Less,然后編譯成css文件障癌,直接放到項目中凌外,也有 Less.app、SimpleLess混弥、CodeKit.app這樣 的工具趴乡,也有在線編譯地址。
2.變量符不一樣蝗拿,LESS是@晾捏,而SCSS是$,而且變量的作用域也不一樣哀托。
3.輸出設置惦辛,LESS沒有輸出設置,SASS提供4中輸出選項:NESTED, COMPACT, COMPRESSED 和 EXPANDED仓手。
輸出樣式的風格可以有四種選擇胖齐,默認為nested
nested:嵌套縮進的css代碼
expanded:展開的多行css代碼
compact:簡潔格式的css代碼
compressed:壓縮后的css代碼
4.SASS支持條件語句玻淑,可以使用IF{}ELSE{},FOR{}循環(huán)等等。而LESS不支持呀伙。
5.引用外部CSS文件补履。
scss引用的外部文件命名必須以_開頭, 如下例所示:其中_test1.scss、_test2.scss剿另、test3.scss文件分別設置 的h1 h2 h3箫锤。文件名如果以下劃線開頭的話,Sass會認為該文件是一個引用文件雨女,不會將其編譯為css文件谚攒。
6.SASS和LESS的工具庫不同。
Sass有工具庫Compass, 簡單說氛堕,Sass和Compass的關系有點像Javascript和jQuery的關系,Compass是Sass的工具庫馏臭。 在它的基礎上,封裝了一系列有用的模塊和模板讼稚,補充強化了Sass的功能括儒。 Less有UI組件庫Bootstrap,Bootstrap是web前端開發(fā)中一個比較有名的前端UI組件庫,Bootstrap的樣式文件部分 源碼就是采用Less語法編寫乱灵。