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: 10px 5px 0px 0px;
試試這樣吧:
padding: 10px 5px 0 0;
移除選擇器
選擇器是你在為一些元素應(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: top center;
background-repeat: no-repeat;
其實(shí)可以寫成:
background: url(logo.png) no-repeat top center;
顏色
顏色(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
Margin(外邊距/空白邊)
聲明CSS magin值得時(shí)候通常會(huì)寫成這樣:
margin-top:0px;
margin-right:10px;
margin-bottom:0px;
margin-left:10px;
讓我們?cè)囋嚢阎禐?的單位去掉,并把4條聲明合并成一條聲明:
margin:0 10px 0 10px;
當(dāng)你生命padding、margin、border(還有一些其他屬性)時(shí),記得要把按照順時(shí)針的方向來聲明屬性值,也就是按照上-右-下-左的方向。關(guān)于這些屬性還有另一個(gè)更加簡(jiǎn)單的寫法,看看屬性中上和下、左和右是否值是相等的,如果是那么就可以進(jìn)一步優(yōu)化了,你可以省略掉后兩個(gè)值,剩下的兩個(gè)值前者指上下,后者指左右:
margin:0 10px;
它是指左右的值為10px,上下的值為0;
Padding(內(nèi)邊距)
padding的簡(jiǎn)寫技巧等同于margin:
padding-top:0px;
padding-right:10px;
padding-bottom:0px;
padding-left:10px;
可以寫成:
padding: 0 10px;
Borders(邊框)
邊框的簡(jiǎn)寫方式相比其它生命來說會(huì)比較復(fù)雜,很多CSSer一開始都容易記混它的簡(jiǎn)寫順序,如果你想聲明一個(gè)1像素寬的實(shí)線黑色邊框,可能會(huì)寫成:
border-width:1px;
border-style:solid;
border-color:#000;
其實(shí)可以寫成:
border:1px solid #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:1px 2px 3px 4px;
最后,我們還可以只設(shè)置左和右的邊的樣式:
border-right:1px solid #000; |