您好,登錄后才能下訂單哦!
想必大家學習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>。
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>。
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%;
}
通過對比,想必你已經大概了解了這幾門語言,接下來的研究,就交給你自己了。當然,你也可以繼續關注我,今后我還會提供更多的教學,希望能夠幫助你更進一步。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。