一.使用css縮寫
使用縮寫可以協助減少你CSS檔案的大小,更加容易閱讀。css縮寫的主要規則請參看《常用css縮寫文法總結》,這裡就不展開描述。
二.明確定義單位,除非值為0
忘記定義尺寸的單位是CSS新手普遍的錯誤。在HTML中你可以唯寫width=100,但是在CSS中,你必須給一個準確的單位,比如:width:100px width:100em。只有兩個例外情況可以不定義單位:行高和0值。除此以外,其他值都必須緊跟單位,注意,不要在數值和單位之間加空格。
三.區分大小寫
當在XHTML中使用CSS,CSS裡定義的元素名稱是區分大小寫。為了避免這種錯誤,我建議所有的定義名稱都採用小寫。
class和id的值在HTML和XHTML中也是區分大小寫,如果你一定要大小寫混合寫,請仔細確認你在CSS的定義和XHTML裡的標籤是一致的。
四.取消class和id前的元素限定
當你寫給一個元素定義class或者id,你可以省略前面的元素限定,因為ID在一個頁面裡是唯一的,鴆las s可以在頁面中多次使用。你限定某個元素毫無意義。例如:
div#content { /* declarations */ }
fieldset.details { /* declarations */ }
可以寫成
#content { /* declarations */ }
.details { /* declarations */ }
這樣可以節省一些位元組。
五.預設值
通常padding的預設值為0,background-color的預設值是transparent。但是在不同的瀏覽器預設值可能不同。如果怕有衝突,可以在樣式表一開始就先定義所有元素的margin和padding值都為0,象這樣:
* {
margin:0;
padding:0;
}
六.不需要重複定義可繼承的值
CSS中,子項目自動繼承父元素的屬性值,象顏色、字型等,已經在父元素中定義過的,在子項目中可以直接繼承,不需要重複定義。但是要注意,瀏覽器可能用一些預設值覆蓋你的定義。
七.最近優先原則
如果對同一個元素的定義有多種,以最接近(最小一級)的定義為最優先,例如有這麼一段代碼
Update: Lorem ipsum dolor set
在CSS檔案中,你已經定義了元素p,又定義了一個classupdate
p {
margin:1em 0;
font-size:1em;
color:#333;
}
.update {
font-weight:bold;
color:#600;
}
八.多重class定義
一個標籤可以同時定義多個class。例如:我們先定義兩個樣式,第一個樣式背景為"http://www.28600.com/article1/#"666;第二個樣式有10 px的邊框。
.one{width:200px;background:"http://www.28600.com/article1/#"666;}
.two{border:10px solid "http://www.28600.com/article1/#"F00;}
在頁面代碼中,我們可以這樣調用:
<div class=one two></div>
這樣最終的顯示效果是這個div既有"http://www.28600.com/article1/#"666的背景,也有10px的邊框。是的,這樣做是可以的,你可以嘗試一下。
===============================================================================
以下是引用css聊吧在2008-6-14 12:44:00的發言: LZ,CSS這個東西他不是程式,不要用程式的理念去歸納,但可以借鑒程式的理念。 不支援這個觀點。理由: CSS是語言嗎?類似的HTML、XML、SQL等。它們都是一種進階語言,說白了就是一種傻瓜式語言。就像現在人開自動擋的小車一樣,一個司機只要會幾個簡單的操作動作就OK了。但不等於說這個小車不是汽車。只不過是把其中各種複雜的邏輯都封裝了,讓機子自動完成。 作為一種語言,它肯定要涉及到一些抽象的理念問題,不過由於全部被封裝打包了,甚至內部的邏輯都被固定死了。所以外人就覺得它沒有了抽象的理念問題。 舉一個簡單的例子: 說我們定義一個span向做浮動(float:left)。這似乎沒有邏輯,但是瀏覽器看到這個標誌符號後,首先判斷span是一個什麼邏輯塊,然後調用對應的模組,然後再判斷float是什麼邏輯,並判斷周圍元素的邏輯,最後決定在螢幕的什麼地方繪製這個span對象。 看似很簡單,但是如果堆積的元素很多時,特別這些元素邏輯存在很大的不同,相互交織在一起,就是考驗人的時候了。也許你覺得我們幹涉不了瀏覽器內部的計算。但是如果我們瞭解底層的東西,你知道它們內部的運算規律,這正如修電路板的師傅必須要瞭解電路圖一樣是一個道理。 |