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