20 LESS CSS框架簡(jiǎn)介
CSS 需要書(shū)寫(xiě)大量看似沒(méi)有邏輯的代碼,不方便維護(hù)及擴(kuò)展,不利于復(fù)用,尤其對(duì)于非前端開(kāi)發(fā)工程師來(lái)講,往往會(huì)因?yàn)槿鄙?CSS 編寫(xiě)經(jīng)驗(yàn)而很難寫(xiě)出組織良好且易于維護(hù)的 CSS 代碼蔚龙,造成這些困難的很大原因源于 CSS 是一門(mén)非程序式語(yǔ)言,沒(méi)有變量并炮、函數(shù)等概念补君。LESS 為 Web 開(kāi)發(fā)者帶來(lái)了福音,它在 CSS 的語(yǔ)法基礎(chǔ)之上拍霜,引入了變量,Mixin(混入)祠饺,運(yùn)算以及函數(shù)等功能越驻,大大簡(jiǎn)化了 CSS 的編寫(xiě),并且降低了 CSS 的維護(hù)成本道偷,就像它的名稱(chēng)所說(shuō)的那樣缀旁,LESS 可以讓我們用更少的代碼做更多的事情,它對(duì)于大網(wǎng)站海量的頁(yè)面編寫(xiě)非常有幫助勺鸦。
本質(zhì)上并巍,LESS 包含一套自定義的語(yǔ)法及一個(gè)解析器,用戶(hù)根據(jù)這些語(yǔ)法定義自己的樣式規(guī)則换途,這些規(guī)則最終會(huì)通過(guò)解析器懊渡,編譯生成對(duì)應(yīng)的 CSS 文件。LESS 并沒(méi)有裁剪 CSS 原有的特性军拟,更不是用來(lái)取代 CSS 的剃执,而是在現(xiàn)有 CSS 語(yǔ)法的基礎(chǔ)上,為 CSS 加入程序式語(yǔ)言的特性懈息。
LESS 可以直接在客戶(hù)端使用肾档,也可以在服務(wù)器端使用。在實(shí)際項(xiàng)目開(kāi)發(fā)中,我們更推薦使用第三種方式怒见,將 LESS 文件編譯生成靜態(tài) CSS 文件戒祠,并在 HTML 文檔中應(yīng)用。
Mixins(混入)功能對(duì)用開(kāi)發(fā)者來(lái)說(shuō)并不陌生速种,很多動(dòng)態(tài)語(yǔ)言都支持 Mixins(混入)特性姜盈,它是多重繼承的一種實(shí)現(xiàn),在 LESS 中配阵,混入是指在一個(gè) CLASS 中引入另外一個(gè)已經(jīng)定義的 CLASS馏颂,就像在當(dāng)前 CLASS 中增加一個(gè)屬性一樣。這種方式是我們?cè)陂_(kāi)發(fā)大型網(wǎng)站多頁(yè)面時(shí)常用的方式棋傍,我們先簡(jiǎn)單看一下 Mixins 在 LESS 中的使用:
如果有海量的樣式要編寫(xiě)時(shí)救拉,就不需要大量的重復(fù)寫(xiě)解決各瀏覽器兼容性的前綴了。本節(jié)只是讓你對(duì)LESS有所了解瘫拣, 在開(kāi)發(fā)中我們可以根據(jù)我們的項(xiàng)目特性選擇使用 LESS 的部分特性亿絮,我們只需用很少的成本就可以換了很大的回報(bào),借助 LESS 可以更便捷的進(jìn)行 Web 開(kāi)發(fā)麸拄。