直擊css系列----Css、less和Sass(SCSS)

可能大家對於css還是比較瞭解了,但說到SASS和LESS還是很陌生,那麼今天就跟我來一起了解一下CSS、LESS和SASS。

背景
CSS(層疊樣式表)是一門非程序式語言,入門學習使用非常直觀方便,但是對於一些比較複雜或者重用性比較強的項目來說,因爲CSS沒有變量、函數、SCOPE(作用域),需要書寫大量看似沒有邏輯的代碼,不方便維護及擴展,不利於複用,尤其對於非前端開發工程師來講,往往會因爲缺少 CSS 編寫經驗而很難寫出組織良好且易於維護的 CSS 代碼。爲了方便前端開發的工作量,出現了sass和less。
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中文網:<u>https://www.sass.hk/</u&gt;。
SASS技術的文件的後綴名有兩種形式:.sass和.scss。其實兩者都是同一種東西,兩種均可以可以通過編譯生成瀏覽器能識別的css文件。這兩種的區別:
1.
擴展名不同;
2.

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>http://lesscss.cn/</u&gt;。
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%;
}

當然這些內容只是很少的一部分,關於CSS、LESS和SASS還有很多東西需要探索,如果你感興趣的話,不妨關注我們,接下來會有更多的實用教程爲你準備。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章