CSS代碼更清晰高效的一些經驗

來源:互聯網
上載者:User

一.使用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對象。

看似很簡單,但是如果堆積的元素很多時,特別這些元素邏輯存在很大的不同,相互交織在一起,就是考驗人的時候了。也許你覺得我們幹涉不了瀏覽器內部的計算。但是如果我們瞭解底層的東西,你知道它們內部的運算規律,這正如修電路板的師傅必須要瞭解電路圖一樣是一個道理。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.