less,sass,scss都屬于css的預處理器,也可以說是由css發展而來的擴展語言。傳統css寫起來非常麻煩,重復代碼較多,看起來也不直觀,為了解決這些問題,css預處理器應運而生。
sass最先出現,是世界上最成熟、穩定和強大的專業級CSS擴展語言(官方原話),它和scss同根同源,和less則是競爭者。
下面簡述他們之間的區別:
sass和scss的區別
- 文件擴展名不同
- sass使用嚴格縮進語法,用縮進代替了大括號,用換行代替了分號,而scss還是沿用cssS的語法格式。
- scss可以理解為sass的改良,它的語法完全兼容CSS3,并且繼承了sass的強大功能
sass和less的區別
sass基于Ruby是在服務端處理的,而less可以借助node.js在服務端運行也可以在客戶端運行。
在語法上,less的變量符是@,scss是$,兩者變量的作用域也不一樣。
sass可以使用if,else,for等判斷循環語句,less不支持。
less沒有輸出設置,sass提供了4種輸出的選項:nested、compact、compressed、expanded。
總結
細節上他們三者有不同的地方,但總的來說:
對于普通開發者來說掌握其中任何一個都可以幫助你更快的寫出可維護性更高的css。