CSS簡寫就是指將多行的CSS屬性聲明化成一行,又稱為CSS代碼優化。CSS簡寫的最大好處就是能夠顯著減少CSS文件的大小,其實還有很多其他益 處。臃腫而雜亂的CSS樣式表會使你遇到問題是難以調試。尤其是當一個團隊在進行設計的時候,你的臃腫的CSS代碼會使你的團隊其他成員的工作效率下降。
今天,整理了一些CSS簡寫技巧,它們其實是CSS最常用的寫法,但是太多的人使用Dreamweaver這種所見即所得軟件來編寫CSS,使得代碼過 於臃腫。不過沒關系,看過本文之後,你一能能掌握CSS代碼優化的技巧,今後讓你的每一個CSS樣式表都看起來整潔而簡短吧。
屬性值為0
書寫原則是如果CSS屬性值為0,那麼你不必為其添加單位(如:px/em),你可能會這樣寫:
padding:10px5px0px0px;
試試這樣吧:
padding:10px5px00;
移除選擇器
選擇器是你在為一些元素應用CSS樣式時的基本方法,比如h1,h2,h2,div,strong,pre,ul,ol等等…如果你使用了class(.類名)或ID(#id名),那麼就不用再在聲明CSS時包含選擇器了。
div#logowrap
嘗試扔掉多余的選擇器吧:
#logowrap
在這個例子中所謂的那個選擇器就是div
*總愛和你開玩笑
要明智的使用*而避免它在整個CSS樣式表中亂開玩笑,*是個通配符,你可以使用它來為你的設計部分或全部進行一系列CSS聲明。例如:
*{
margin:0;
}
這個聲明會將所有元素的margin值設置為0,同樣的,為了嚴謹起見,你可以嘗試這樣設置:
#menu*{
margin:0;
}
這樣的聲明是指將#menu下的所有元素的margin設為0。
背景
背景(background)屬性可能會包含設置背景色、背景圖、背景圖的位置和背景圖重復方式的參數,你可能會寫成:
background-image:url(”logo.png”);
background-position:topcenter;
background-repeat:no-repeat;
其實可以寫成:
background:url(logo.png)no-repeattopcenter;
顏色
顏色(color)屬性在CSS通常指定為一個十六進制的值,一個#加6位數,他的簡寫方式是如果顏色值由成對兒出現的三對而數字組成,你可以省略掉沒對中的一個數字。
#000000可以寫成#000,#336699可以寫成#369
這種簡寫技巧只適用於成對出現的顏色值,其它顏色值不適用這種技巧,比如:
#010101,#223345,#FFF000
Margin(外邊距/空白邊)
聲明CSSmagin值得時候通常會寫成這樣:
margin-top:0px;
margin-right:10px;
margin-bottom:0px;
margin-left:10px;
讓我們試試把值為0的單位去掉,並把4條聲明合並成一條聲明:
margin:010px010px;
當你生命padding、margin、border(還有一些其他屬性)時,記得要把按照順時針的方向來聲明屬性值,也就是按照上-右-下-左的方 向。關於這些屬性還有另一個更加簡單的寫法,看看屬性中上和下、左和右是否值是相等的,如果是那麼就可以進一步優化了,你可以省略掉後兩個值,剩下的兩個 值前者指上下,後者指左右:
margin:010px;
它是指左右的值為10px,上下的值為0;
Padding(內邊距)
padding的簡寫技巧等同於margin:
padding-top:0px;
padding-right:10px;
padding-bottom:0px;
padding-left:10px;
可以寫成:
padding:010px;
Borders(邊框)
邊框的簡寫方式相比其它生命來說會比較復雜,很多CSSer一開始都容易記混它的簡寫順序,如果你想聲明一個1像素寬的實線黑色邊框,可能會寫成:
border-width:1px;
border-style:solid;
border-color:#000;
其實可以寫成:
border:1pxsolid#000;
注意:這裡的顏色值已經使用了上面講過的顏色簡寫方法了哦。
我們還可以為四個邊設置不同的寬度:
border-top-width:1px;
border-right-width:2px;
bor