1. 程式人生 > >簡述sass與less的區別並給出程式碼

簡述sass與less的區別並給出程式碼

Sass (Syntactically Awesome Stylesheets)是一種動態樣式語言,語法跟css一樣(但多了些功能),比css好寫,而且更容易閱讀。Sass語法類似與Haml,屬於縮排語法(makeup),用意就是為了快速寫Html和Css。

   Less是一種動態樣式語言. 將CSS賦予了動態語言的特性,如變數,繼承,運算, 函式. LESS 既可以在客戶端上執行 (支援IE 6+, Webkit, Firefox),也可一在服務端執行 (藉助 Node.js)

LESS是基於JavaScript,所以,是在客戶端處理的。
另一方面,Sass是基於Ruby的,然後是在伺服器端處理的。

Less和Sass的相同之處:

1.變數:可以單獨定義一系列通用的樣式,在需要的時候進行呼叫。

2.混合(Mixins):class中的class(講一個class引入到另一個class,實現class與class之間的繼承),還可以帶引數的混合,就像函式一樣。

3.巢狀:class中巢狀class,從而減少程式碼的重複。

4.運算:提供了加減乘除四則運算,可以做屬性值可顏色的運算。

Less和Sass之間的區別:

1.實現方式:Less是基於JavaScript,是在客戶端進行處理的;Sass是基於Ruby,是在伺服器端進行處理的。

2.定義變數:Less定義變數時使用字首:@;Sass定義變數時使用字首:$。

3.混合(Mixins):Less中使用混合時,只需在classB中根據classA的命名來是用;Sass中首先在定義混合時需要使用@mixin命令,其次在呼叫時需要使用@include命令來引入之前定義的混合。

4.解析方式:Less可以向上/向下解析;Sass只能向上解析。

5.變數的作用域:Less中的變數有全域性和區域性之分;Sass可以變數可以理解為都是全域性的,但可以通過在變數後面跟!default,在引入Sass檔案之前改變變數的屬性值來解決這一問題。

6.比起Less,Sass中增加了條件語句(if、if...else)和迴圈語句(for迴圈、while迴圈和each迴圈)還有自定義函式: