CSS本身而言,對(duì)于大多數(shù)Web前端從業(yè)人員來說就不是問題。學(xué)過CSS的人都知道,它不是一種編程語言。你可以用它開發(fā)網(wǎng)頁樣式,但是沒法用它編程。換句話說,CSS基本上是設(shè)計(jì)師的工具,不是程序員的工具。在程序員的眼里,CSS是很頭痛的事情,它并不像其它程序語言,比如說PHP、Javascript等等,有自己的變量、常量、條件語句以及一些編程語法,只是一行行單純的屬性描述,寫起來相當(dāng)?shù)馁M(fèi)事,而且代碼難易組織和維護(hù)。
很自然的,有人就開始在想,能不能給CSS像其他程序語言一樣,加入一些編程元素,讓CSS能像其他程序語言一樣可以做一些預(yù)定的處理。這樣一來,就有了“CSS預(yù)處器(CSS Preprocessor)”。
CSS 預(yù)處理器定義:
CSS 預(yù)處理器定義了一種新的語言,其基本思想是,用一種專門的編程語言,為 CSS 增加了一些編程的特性,將 CSS 作為目標(biāo)生成文件,然后開發(fā)者就只要使用這種語言進(jìn)行編碼工作。
通俗的說,“CSS 預(yù)處理器用一種專門的編程語言,進(jìn)行 Web 頁面樣式設(shè)計(jì),然后再編譯成正常的 CSS 文件,以供項(xiàng)目使用。CSS 預(yù)處理器為 CSS 增加一些編程的特性,無需考慮瀏覽器的兼容性問題”,例如你可以在 CSS 中使用變量、簡(jiǎn)單的邏輯程序、函數(shù)(如右側(cè)代碼編輯器中就使用了變量$color)等等在編程語言中的一些基本特性,可以讓你的 CSS 更加簡(jiǎn)潔、適應(yīng)性更強(qiáng)、可讀性更佳,更易于代碼的維護(hù)等諸多好處。
其它 CSS 預(yù)處理器語言:
CSS 預(yù)處理器技術(shù)已經(jīng)非常的成熟,而且也涌現(xiàn)出了很多種不同的 CSS 預(yù)處理器語言 Sass(SCSS)、LESS、Stylus
、Turbine、Swithch CSS、 CSS Cacheer、DT CSS。
如此之多的 CSS 預(yù)處理器,那么“我應(yīng)該選擇哪種 CSS 預(yù)處理器?”也相應(yīng)成了最近網(wǎng)上的一大熱門話題,在 Linkedin、Twitter、CSS-Trick、知呼以及各大技術(shù)論壇上,很多人為此爭(zhēng)論不休。相比過去我們對(duì)是否應(yīng)該使用 CSS 預(yù)處理器的話題而言,這已經(jīng)是很大的進(jìn)步了。