CSS樣式表優(yōu)化秘訣
本文和大家重點(diǎn)討論一下如何讓CSS樣式表優(yōu)化更整潔而簡(jiǎn)短,而CSS簡(jiǎn)寫的***好處就是能夠顯著減少CSS文件的大小,其實(shí)還有很多其他益處。
讓CSS樣式表優(yōu)化更整潔而簡(jiǎn)短
CSS簡(jiǎn)寫就是指將多行的CSS屬性聲明化成一行,又稱為CSS代碼優(yōu)化。CSS簡(jiǎn)寫的***好處就是能夠顯著減少CSS文件的大小,其實(shí)還有很多其他益處。臃腫而雜亂的CSS樣式表會(huì)使你遇到問題是難以調(diào)試。尤其是當(dāng)一個(gè)團(tuán)隊(duì)在進(jìn)行設(shè)計(jì)的時(shí)候,你的臃腫的CSS代碼會(huì)使你的團(tuán)隊(duì)其他成員的工作效率下降。
今天,整理了一些CSS簡(jiǎn)寫技巧,它們其實(shí)是CSS最常用的寫法,但是太多的人使用Dreamweaver這種所見即所得軟件來編寫CSS,使得代碼過于臃腫。不過沒關(guān)系,看過本文之后,你一能能掌握CSS代碼優(yōu)化的技巧,今后讓你的每一個(gè)CSS樣式表都看起來整潔而簡(jiǎn)短吧。
屬性值為0
書寫原則是如果CSS屬性值為0,那么你不必為其添加單位(如:px/em),你可能會(huì)這樣寫:
- padding:10px5px0px0px;
試試這樣吧:
- padding:10px5px00;
◆移除選擇器
選擇器是你在為一些元素應(yīng)用CSS樣式時(shí)的基本方法,比如h1,h2,h2,div,strong,pre,ul,ol等等…如果你使用了class(.類名)或ID(#id名),那么就不用再在聲明CSS時(shí)包含選擇器了。
div#logowrap
嘗試扔掉多余的選擇器吧:
#logowrap
在這個(gè)例子中所謂的那個(gè)選擇器就是div
*總愛和你開玩笑
要明智的使用*而避免它在整個(gè)CSS樣式表中亂開玩笑,*是個(gè)通配符,你可以使用它來為你的設(shè)計(jì)部分或全部進(jìn)行一系列CSS聲明。例如:
- *{
- margin:0;
- }
這個(gè)聲明會(huì)將所有元素的margin值設(shè)置為0,同樣的,為了嚴(yán)謹(jǐn)起見,你可以嘗試這樣設(shè)置:
- #menu*{
- margin:0;
- }
這樣的聲明是指將#menu下的所有元素的margin設(shè)為0。
◆背景
背景(background)屬性可能會(huì)包含設(shè)置背景色、背景圖、背景圖的位置和背景圖重復(fù)方式的參數(shù),你可能會(huì)寫成:
- background-image:url(”logo.png”);
- background-position:topcenter;
- background-repeat:no-repeat;
其實(shí)可以寫成:
- background:url(logo.png)no-repeattopcenter;
◆顏色
顏色(color)屬性在CSS通常指定為一個(gè)十六進(jìn)制的值,一個(gè)#加6位數(shù),他的簡(jiǎn)寫方式是如果顏色值由成對(duì)兒出現(xiàn)的三對(duì)而數(shù)字組成,你可以省略掉沒對(duì)中的一個(gè)數(shù)字。
#000000可以寫成#000,#336699可以寫成#369
這種簡(jiǎn)寫技巧只適用于成對(duì)出現(xiàn)的顏色值,其它顏色值不適用這種技巧,比如:
- #010101,#223345,#FFF000
#p#◆Margin(外邊距/空白邊)
聲明CSSmagin值得時(shí)候通常會(huì)寫成這樣:
- margin-top:0px;
- margin-right:10px;
- margin-bottom:0px;
- margin-left:10px;
讓我們?cè)囋嚢阎禐?的單位去掉,并把4條聲明合并成一條聲明:
- margin:010px010px;
當(dāng)你生命padding、margin、border(還有一些其他屬性)時(shí),記得要把按照順時(shí)針的方向來聲明屬性值,也就是按照上-右-下-左的方向。關(guān)于這些屬性還有另一個(gè)更加簡(jiǎn)單的寫法,看看屬性中上和下、左和右是否值是相等的,如果是那么就可以進(jìn)一步優(yōu)化了,你可以省略掉后兩個(gè)值,剩下的兩個(gè)值前者指上下,后者指左右:
- margin:010px;
它是指左右的值為10px,上下的值為0;
◆Padding(內(nèi)邊距)
padding的簡(jiǎn)寫技巧等同于margin:
- padding-top:0px;
- padding-right:10px;
- padding-bottom:0px;
- padding-left:10px;
可以寫成:
- padding:010px;
◆Borders(邊框)
邊框的簡(jiǎn)寫方式相比其它生命來說會(huì)比較復(fù)雜,很多CSSer一開始都容易記混它的簡(jiǎn)寫順序,如果你想聲明一個(gè)1像素寬的實(shí)線黑色邊框,可能會(huì)寫成:
- border-width:1px;
- border-style:solid;
- border-color:#000;
其實(shí)可以寫成:
- border:1pxsolid#000;
注意:這里的顏色值已經(jīng)使用了上面講過的顏色簡(jiǎn)寫方法了哦。
我們還可以為四個(gè)邊設(shè)置不同的寬度:
- border-top-width:1px;
- border-right-width:2px;
- border-bottom-width:3px;
- border-left-width:4px;
可以簡(jiǎn)寫成:
- border-width:1px2px3px4px;
***,我們還可以只設(shè)置左和右的邊的樣式:
- border-right:1pxsolid#000;
- border-bottom:1pxsolid#000;
雖然并沒減少多少代碼,但暴風(fēng)彬彬建議寫成這樣:
- border:1pxsolid#000;
- border-width:01px1px0;
先設(shè)置四個(gè)邊的默認(rèn)風(fēng)格,然后聲明具體的哪個(gè)邊要顯示。#p#
◆文字
文字屬性也有很多可能會(huì)用到的屬性值,像背景一樣,你可能會(huì)聲明這種復(fù)雜的文字樣式:
- font-style:italic;
- font-variant:small-caps;
- font-weight:bold;
- font-size:1em;
- line-height:150%;
- font-family:宋體,Arial,sans-serif;
其實(shí)可以優(yōu)化成一行:
- font:italicsmall-capsbold1em/150%宋體,Arial,sans-serif;
◆列表
- font-style:italic;
- font-variant:small-caps;
- font-weight:bold;
- font-size:1em;
- line-height:150%;
- font-family:宋體,Arial,sans-serif;
可以寫成:
- list-style:squareinsideurl(filename.gif);
希望這10個(gè)CSS縮寫技巧能對(duì)你的CSS書寫有所幫助
【編輯推薦】
- FireFox和IE中CSS兼容技巧匯總
- 十大CSS使用經(jīng)典技巧
- CSS屬性font-size用法詳解
- 實(shí)例解析clear屬性在CSS中的妙用
- DIV CSS網(wǎng)頁布局需要掌握的八大技巧