隨着前端開發的不斷發展,CSS也逐漸延伸出了很多新的語言,
less和Sass就是其中兩種,下面我們就一起來看看它們到底有何區別。
SASS和LESS
SASS(英文全稱:Syntactically Awesome Stylesheets)Sass 誕生於 2007 年,使用Ruby 編寫,
是一種對css的一種擴展提升,增加了規則、變量、混入、選擇器、繼承等等特性。可以理解為用js的方式去書寫,
然后編譯成css。比如說,sass中可以把反復使用的css屬性值定義成變量,然后通過變量名來引用它們,而無需重復書寫這一屬性值。
LESS(2009年開源的一個項目,受Sass的影響較大,但又使用CSS的語法,讓大部分開發者和設計師更容易上手。
LESS保留了css的任何功能,同時提供了多種方式能平滑的將寫好的代碼轉化成標准的CSS代碼,可以在任何使用隨時切換到css的語法進行書寫。
SASS和LESS****使用
傳統的css可以直接被html引用,但是sass和less由於使用了類似JavaScript的方式去書寫,
所以必須要經過編譯生成css,而html引用只能引用編譯之后的css文件,雖然過程多了一層,
但是畢竟sass/less在書寫的時候就方便很多,所以在我們使用sass/less之前,只要我們提前設置好,
就可以直接生成對應的css文件,而我們只需要關心我們的sass/less文件即可。
Sass的語法規則,SASS技術的文件的后綴名有兩種形式:.sass和.scss。其實兩者都是同一種東西,兩種均可以可以通過編譯生成瀏覽器能識別的css文件。這兩種的區別:
擴展名不同;
SCSS 的語法書寫和CSS 語法書寫方式非常類似,.sass文件對代碼的排版有着非常嚴格的要求,而且沒有大括號,沒有分號;
Sass 語法
$font-stack: Helvetica, sans-serif //定義變量
$primary-color: #333 //定義變量
body
font: 100% $font-stack
color: $primary-color
SCSS 語法
$font-stack: Helvetica, sans-serif;
$primary-color: #333;
body {
font: 100% $font-stack;
color: $primary-color;
}
編譯出來的 CSS
body {
font: 100% Helvetica, sans-serif;
color: #333;
}
LESS技術的后綴名只有一種,就是.less,語法規則和sass大同小異,詳細可以參考less中文網<u><u>http://lesscss.cn/</u></u>。
LESS使用分為兩種:
1.直接在瀏覽器中引入less編譯器js文件和less文件,直接渲染編譯為css文應用到當前頁面中。
2.less文件通過編譯成為css之后引用css;
/* Less */
@color: #999;
@bgColor: skyblue;//不要添加引號
@width: 50%;
wrap {
color: @color;
width: @width;
}
/* 生成后的 CSS */
wrap {
color: #999;
width: 50%;
}
關於SASS和LESS的概念就是這樣,如果想要繼續深入了解更詳細語法,恐怕就得多花功夫了,不過,學好SASS和LESS對你的前端發展絕對是有很大幫助的。加油,努力成為前端大神。