天天看點

10個CSS簡寫技巧讓你永遠受用

CSS簡寫就是指将多行的CSS屬性聲明化成一行,又稱為CSS代碼優化。CSS簡寫的最大好處就是能夠顯著減少CSS檔案的大小,其實還有很多其他益處。臃腫而雜亂的CSS樣式表會使你遇到問題是難以調試。尤其是當一個團隊在進行設計的時候,你的臃腫的CSS代碼會使你的團隊其他成員的工作效率下降。

  今天,暴風彬彬整理了一些CSS簡寫技巧,它們其實是CSS最常用的寫法,但是太多的人使用Dreamweaver這種所見即所得軟體來編寫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);

本文連結:http://blog.bingo929.com/10-css-shorthand-tips.html

繼續閱讀