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

來源:互聯網
上載者:User

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
如需轉載必須以連結形式註明原載或原文地址,謝謝合作!

相關文章

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.