CSS簡寫就是指將多行的CSS屬性聲明化成一行,又稱為CSS代碼最佳化。CSS簡寫的最大好處就是能夠顯著減少CSS檔案的大小,其實還有很多其他益處。臃腫而雜亂的CSS樣式表會使你遇到問題是難以調試。尤其是當一個團隊在進行設計的時候,你的臃腫的CSS代碼會使你的團隊其他成員的工作效率下降。
今天,暴風彬彬整理了一些CSS簡寫技巧,它們其實是CSS最常用的寫法,但是太多的人使用Dreamweaver這種所見即所得 (WYSIWYG)軟體來編寫CSS,使得代碼過於臃腫。不過沒關係,看過本文之後,你一能能掌握CSS代碼最佳化的技巧,今後讓你的每一個CSS樣式表都看起來整潔而簡短吧。
屬性值為0
書寫原則是如果CSS屬性值為0,那麼你不必為其添加單位(如:px/em),你可能會這樣寫:
padding: 10px 5px 0px 0px;
試試這樣吧:
padding: 10px 5px 0 0;
移除選取器
選取器是你在為一些元素應用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: top center;
background-repeat: no-repeat;
其實可以寫成:
background: url(logo.png) no-repeat top center;
顏色
顏色(color)屬性在CSS通常指定為一個十六進位的值,一個#加6位元,他的簡寫方式是如果顏色值由成對兒出現的三對而數字組成,你可以省略掉沒對中的一個數字。
#000000 可以寫成 #000, #336699 可以寫成 #369
這種簡寫技巧只適用於成對出現的顏色值,其它顏色值不適用這種技巧,比如:
#010101, #223345, #FFF000
Margin(外邊距/空白邊)
聲明CSS magin值得時候通常會寫成這樣:
margin-top:0px;
margin-right:10px;
margin-bottom:0px;
margin-left:10px;
讓我們試試把值為0的單位去掉,並把4條聲明合并成一條聲明:
margin:0 10px 0 10px;
當你生命padding、margin、border(還有一些其他屬性)時,記得要把按照順時針的方向來聲明屬性值,也就是按照上-右-下-左的方向。關於這些屬性還有另一個更加簡單的寫法,看看屬性中上和下、左和右是否值是相等的,如果是那麼就可以進一步最佳化了,你可以省略掉後兩個值,剩下的兩個值前者指上下,後者指左右:
margin:0 10px;
它是指左右的值為10px,上下的值為0;
Padding(內邊距)
padding的簡寫技巧等同於margin:
padding-top:0px;
padding-right:10px;
padding-bottom:0px;
padding-left:10px;
可以寫成:
padding: 0 10px;
Borders(邊框)
邊框的簡寫方式相比其它生命來說會比較複雜,很多CSSer一開始都容易記混它的簡寫順序,如果你想聲明一個1像素寬的實線黑色邊框,可能會寫成:
border-width:1px;
border-style:solid;
border-color:#000;
其實可以寫成:
border:1px solid #000;
注意:這裡的顏色值已經使用了上面講過的顏色簡寫方法了哦。
我們還可以為四個邊設定不同的寬度:
border-top-width:1px;
border-right-width:2px;
border-bottom-width:3px;
border-left-width:4px;
可以簡寫成:
border-width:1px 2px 3px 4px;
最後,我們還可以只設定右和下邊框的樣式:
border-right:1px solid #000;
border-bottom:1px solid #000;
雖然並沒減少多少代碼,但暴風彬彬建議寫成這樣:
border:1px solid #000;
border-width:0 1px 1px 0;
先設定四個邊的預設風格,然後聲明具體的哪個邊要顯示。
文字
文字屬性也有很多可能會用到的屬性值,像背景一樣,你可能會聲明這種複雜的文字樣式:
font-style:italic;
font-variant:small-caps;
font-weight:bold;
font-size:1em;
line-height:150%;
font-family:宋體, Arial, sans-serif;
其實可以最佳化成一行:
font:italic small-caps bold 1em/150% 宋體, Arial, sans-serif;
列表
list-style-type:square;
list-style-position:inside;
list-style-image:url(filename.gif);
可以寫成:
list-style:square inside url(filename.gif);
轉載聲明:
原載:彬Go
本文連結:http://blog.bingo929.com/10-css-shorthand-tips.html
如需轉載必須以連結形式註明原載或原文地址,謝謝合作!