我們知道,在 XHTML+CSS 布局流行的今天,CSS 已經(jīng)成為布局網(wǎng)站的一個趨勢,那么為什么我們需要一個盡可能小的 CSS 文件呢?這主要是基于流量和讀取速度兩方面考慮。小的 CSS 文件可以節(jié)省你的服務(wù)器流量,同時縮短用戶打開你網(wǎng)頁所需的時間。既節(jié)省了流量開支,又獲得了更好的用戶體驗,下面我們一起看看有哪些縮小 CSS 的方法。
很多情況下,特別是曾經(jīng)從事過 C/Java 等語言開發(fā)工作的程序員,可能會喜歡寫多行注釋,例如:
在編譯語言中這樣的注釋當(dāng)然沒有問題,但在 CSS 中他們會顯著的增大 CSS 文件的體積,應(yīng)該嘗試簡化成這樣:
這樣在保持可讀性的同時,減小了文件體積。事實(shí)上,在一個真正發(fā)布版本的 CSS 文件中,你完全可以去掉這些注釋。
在 CSS 中,我們經(jīng)常會跟十六進(jìn)制顏色代碼打交道。你可能習(xí)慣于寫成以下“標(biāo)準(zhǔn)形式”:
color: #ffffff;
color: #ff88ff;
事實(shí)上,在 CSS 中是可以簡化這個寫法的,我們可以寫成:
color: #fff;
color: #f8f;
在 CSS 中像 margin/padding/font/border 等屬性均可以用一行來代替很多行設(shè)置,例如:
padding-top: 10px;
padding-bottom: 10px;
padding-left: 0;
padding-right: 0;
我們可以寫成:
padding: 10px 0 10px 0;
順序為上、右、下、左,當(dāng)然,對于 margin 和 padding 屬性,當(dāng)左右/上下的值相同時,還可以寫的更簡單,例如上面的例子,可寫為:
padding: 10px 0;
上下左右都相同時,甚至可以寫成:
padding: 10px;
對于其它縮寫方法,可以參考網(wǎng)上一些資料。當(dāng)然,我更推薦使用 TopStyle 這款軟件在寫 CSS 的過程中學(xué)習(xí),它會給出具體提示。
例如:padding: 0;
舉例說明。例如:
h1 {
margin: 0;
padding: 0;
}
h2 {
margin: 0;
padding: 0;
}
h3 {
margin: 0;
padding: 0;
}
更贊的寫法是這樣:
h1,h2,h3 {
margin: 0;
padding: 0;
}
這是個很不起眼的操作,但對于脫離了開發(fā)階段,而要應(yīng)用在網(wǎng)絡(luò)上的 CSS 而言應(yīng)該進(jìn)行這樣的處理,至少 Google 所有應(yīng)用都是這樣做的。舉個例子:
h1 {
margin: 0;
padding: 0;
}
blockquote {
background-color: #ffcccc;
}
應(yīng)該處理成:
h1{margin:0;padding:0;}
blockquote{background:#fcc;}
事實(shí)上,在 CSS 文件中可以不需要任何換行的。但是為了保持代碼那么一點(diǎn)點(diǎn)可讀性,我還是比較建議每個元素寫成一行?,F(xiàn)在可以利用一些工具來進(jìn)行類似的操作,因此它將不會影響你的開發(fā)過程。
如果有條件的話,我們應(yīng)該設(shè)定 CSS 文件的過期時間,并開啟 GZip 來傳輸 CSS 文件。設(shè)定前者可以讓流行的瀏覽器緩存你的 CSS 文件,從而避免每次 Load 都要讀取文件,大大加快速度同時也降低流量消耗。而開啟 GZip 則可以讓你的 CSS 文件縮小的難以想象的程度,而且如今流行的瀏覽器都是支持 GZip 的。