Css、less和Sass(SCSS)搞不清楚?看完這篇文章你就懂了

熟悉CSS的同學(xué)都知道,隨著時(shí)代發(fā)展CSS還延展出了一些新語言,比如SASS和LESS。但是可能很多同學(xué)并不了解他們,接下來我就會(huì)帶你一起了解一下關(guān)于Css、less和Sass的相關(guān)信息
背景

CSS(層疊樣式表)是一門非程序式語言,入門學(xué)習(xí)使用非常直觀方便,但是對(duì)于一些比較復(fù)雜或者重用性比較強(qiáng)的項(xiàng)目來說,因?yàn)镃SS沒有變量、函數(shù)、SCOPE(作用域),需要書寫大量看似沒有邏輯的代碼,不方便維護(hù)及擴(kuò)展,不利于復(fù)用,尤其對(duì)于非前端開發(fā)工程師來講,往往會(huì)因?yàn)槿鄙?CSS 編寫經(jīng)驗(yàn)而很難寫出組織良好且易于維護(hù)的 CSS 代碼。為了方便前端開發(fā)的工作量,出現(xiàn)了sass和less。

SASS和LESS

SASS(英文全稱:Syntactically Awesome Stylesheets)Sass 誕生于 2007 年,使用Ruby 編寫,是一種對(duì)css的一種擴(kuò)展提升,增加了規(guī)則、變量、混入、選擇器、繼承等等特性。可以理解為用js的方式去書寫,然后編譯成css。比如說,sass中可以把反復(fù)使用的css屬性值定義成變量,然后通過變量名來引用它們,而無需重復(fù)書寫這一屬性值。

LESS(2009年開源的一個(gè)項(xiàng)目,受Sass的影響較大,但又使用CSS的語法,讓大部分開發(fā)者和設(shè)計(jì)師更容易上手。LESS保留了css的任何功能,同時(shí)提供了多種方式能平滑的將寫好的代碼轉(zhuǎn)化成標(biāo)準(zhǔn)的CSS代碼,可以在任何使用隨時(shí)切換到css的語法進(jìn)行書寫。

SASS和LESS****使用

傳統(tǒng)的css可以直接被html引用,但是sass和less由于使用了類似JavaScript的方式去書寫,所以必須要經(jīng)過編譯生成css,而html引用只能引用編譯之后的css文件,雖然過程多了一層,但是畢竟sass/less在書寫的時(shí)候就方便很多,所以在我們使用sass/less之前,只要我們提前設(shè)置好,就可以直接生成對(duì)應(yīng)的css文件,而我們只需要關(guān)心我們的sass/less文件即可。

Sass的語法規(guī)則,可以參考下SASS中文網(wǎng):<u><u>https://www.sass.hk/</u></u>。

SASS技術(shù)的文件的后綴名有兩種形式:.sass和.scss。其實(shí)兩者都是同一種東西,兩種均可以可以通過編譯生成瀏覽器能識(shí)別的css文件。這兩種的區(qū)別:

擴(kuò)展名不同;

SCSS 的語法書寫和CSS 語法書寫方式非常類似,.sass文件對(duì)代碼的排版有著非常嚴(yán)格的要求,而且沒有大括號(hào),沒有分號(hào);

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技術(shù)的后綴名只有一種,就是.less,語法規(guī)則和sass大同小異,詳細(xì)可以參考less中文網(wǎng)<u><u>http://lesscss.cn/</u></u>

LESS使用分為兩種:

  1. 直接在瀏覽器中引入less編譯器js文件和less文件,直接渲染編譯為css文應(yīng)用到當(dāng)前頁面中。

2.less文件通過編譯成為css之后引用css;

/* Less */

@color: #999;

@bgColor: skyblue;//不要添加引號(hào)

@width: 50%;

wrap {

color: @color;

width: @width;

}

/* 生成后的 CSS */

wrap {

color: #999;

width: 50%;

}
了解了這些概念問題,如果你想繼續(xù)深入研究的話,自然是需要大家繼續(xù)努力,關(guān)于CSS、LESS和SASS的內(nèi)容還有很多,還有更多的東西等待著大家挖掘,希望你不要停止自己的腳步,在前端開發(fā)的道路上越走越遠(yuǎn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容