使用縮寫可以協助減少你CSS檔案的大小,更加容易閱讀。css縮寫的主要規則如下:
顏色
16進位的色彩值,如果每兩位的值相同,可以縮寫一半,例如:
#000000可以縮寫為#000;#336699可以縮寫為#369;
盒尺寸
通常有下面四種書寫方法:
•property:value1; 表示所有邊都是一個值value1;
•property:value1 value2; 表示top和bottom的值是value1,right和left的值是value2
•property:value1 value2 value3; 表示top的值是value1,right和left的值是value2,bottom的值是value3
•property:value1 value2 value3 value4; 四個值依次表示top,right,bottom,left
方便的記憶方法是順時針,上右下左。具體應用在margin和padding的例子如下:
margin:1em 0 2em 0.5em;
邊框(border)
邊框的屬性如下:
•border-width:1px;
•border-style:solid;
•border-color:#000;
可以縮寫為一句:border:1px solid #000;
文法是border:width style color;
背景(Backgrounds)
背景的屬性如下:
•background-color:#f00;
•background-image:url(background.gif);
•background-repeat:no-repeat;
•background-attachment:fixed;
•background-position:0 0;
可以縮寫為一句:background:#f00 url(background.gif) no-repeat fixed 0 0;
文法是background:color image repeat attachment position;
你可以省略其中一個或多個屬性值,如果省略,該屬性值將用瀏覽器預設值,預設值為:
•color: transparent
•image: none
•repeat: repeat
•attachment: scroll
•position: 0% 0%
字型(fonts)
字型的屬性如下:
•font-style:italic;
•font-variant:small-caps;
•font-weight:bold;
•font-size:1em;
•line-height:140%;
•font-family:"Lucida Grande",sans-serif;
可以縮寫為一句:font:italic small-caps bold 1em/140% "Lucida Grande",sans-serif;
font的縮寫,如果省略family,
如這樣子:
font:700 14px/22px;
則在Firefox下是不生效的
完整的寫法是:font:700 14px/22px arial;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<style> www.111cn.net
.login_top{height:26px;font:bold 14px/26px "宋體"; border:1px solid #000}
.login_top2{height:26px; line-height:26px; font-weight:bold;font-size:14px;border:1px
solid #000; font-family:'宋體'}
</style>
<div class="login_top">我垂直不置中</div>
<br/ >
<div class="login_top2">我垂直置中</div>
注意,如果你縮寫字型定義,至少要定義font-size和font-family兩個值。
列表(lists)
取消預設的圓點和序號可以這樣寫list-style:none;,
list的屬性如下:
•list-style-type:square;
•list-style-position:inside;
•list-style-image:url(image.gif);
可以縮寫為一句:list-style:square inside url(image.gif);
outline
outline類似border,不同的是border會影響盒模型,而outline不會。
outline-width:數字+單位;
outline-style: none || dashed || dotted || double || groove || inset || outset || ridge || solid ;
outline-color: 顏色 ;
屬性值為0書寫原則是如果CSS屬性值為0,那麼你不必為其添加單位(如:px/em),你可能會這樣寫:
關於四個邊的特別說明
關於四邊,有很多樣式都涉及到了四邊(上下左右)的問題,我這裡統一說明一下。
以padding屬於為例,四邊的簡寫如下:
padding:4px 6px 3px 4px;
它等效於:
padding-top:1px;
padding-right:2px;
padding-bottom:3px;
padding-left:4px;
其順序為:
top | right | bottom | left
不論是邊框寬度,還是邊框顏色、邊距等,只要css樣式涉及四邊,順序通通都是“上右下左”(順時針方向)。
如果四邊的值省略一個,唯寫三個,即:
padding:1px 2px 3px;
則它等效於:
padding-top:1px;
padding-right:2px;
padding-bottom:3px;
padding-left:2px;
即省略的“左”值等於“右”。
如果四邊的值省略兩個:
padding:5px 10px;
它等效於:
padding-top:5px;
padding-right:10px;
padding-bottom:5px;
padding-left:5px;
也就是說,當只有2個值的時候,上下2邊等於第一個值,左右2邊等於第二個值,即省略的“下”值等於“上”。
如果只有一個值:
padding:3px;
它等效於:
padding-top:3px;
padding-right:3px;
padding-bottom:3px;
padding-left:3px;
這種情況下,上下左右4條邊都等同於同一個值!
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;
移除選取器 選取器是你在為一些元素應用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。