css預(yù)處理器,stylus,less,sass

之前接觸過(guò)less+vue,sass+ng2的開發(fā)內(nèi)容,今天偶然看到stylus這個(gè)東西,之前聽都沒聽過(guò),都不知道怎么讀,故寫這些東西研究下

SASS: 2007年誕生,最早也是最成熟的CSS預(yù)處理器,擁有ruby社區(qū)的支持和compass這一最強(qiáng)大的css框架,目前受LESS影響,已經(jīng)進(jìn)化到了全面兼容CSS的SCSS。

LESS: 2009年出現(xiàn),受SASS的影響較大,但又使用CSS的語(yǔ)法,讓大部分開發(fā)者和設(shè)計(jì)師更容易上手,在ruby社區(qū)之外支持者遠(yuǎn)超過(guò)SASS,其缺點(diǎn)是比起SASS來(lái),可編程功能不夠,不過(guò)優(yōu)點(diǎn)是簡(jiǎn)單和兼容CSS,反過(guò)來(lái)也影響了SASS演變到了SCSS的時(shí)代,著名的Twitter Bootstrap就是采用LESS做底層語(yǔ)言的。

Stylus:2010年產(chǎn)生,來(lái)自Node.js社區(qū),主要用來(lái)給Node項(xiàng)目進(jìn)行CSS預(yù)處理支持,在此社區(qū)之內(nèi)有一定支持者,在廣泛的意義上人氣還完全不如SASS和LESS。

CSS 預(yù)處理器是什么?一般來(lái)說(shuō),它們基于 CSS 擴(kuò)展了一套屬于自己的 DSL,來(lái)解決我們書寫 CSS 時(shí)難以解決的問題:

? ? ? ? === > DSL????? Domain Specific Language? 特定領(lǐng)域下的語(yǔ)言,DSL是為了解決某些特定場(chǎng)景下的任務(wù)而專門設(shè)計(jì)的語(yǔ)言

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?與之對(duì)應(yīng)的就是通用編程語(yǔ)言,比如Java/C/C++這種

css問題:

語(yǔ)法不夠強(qiáng)大,比如無(wú)法嵌套書寫導(dǎo)致模塊化開發(fā)中需要書寫很多重復(fù)的選擇器;

沒有變量和合理的樣式復(fù)用機(jī)制,使得邏輯上相關(guān)的屬性值必須以字面量的形式重復(fù)輸出,導(dǎo)致難以維護(hù)。

預(yù)處理器優(yōu)勢(shì):提供 CSS 缺失的樣式層復(fù)用機(jī)制、減少冗余代碼,提高樣式代碼的可維護(hù)性


參考文章:http://efe.baidu.com/blog/revisiting-css-preprocessors/? ?這個(gè)才看了一點(diǎn)點(diǎ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),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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