網(wǎng)站建設(shè)中,有時(shí)為外邊距輸入的值會(huì)有些重復(fù):
p{margin:0.25em 1em 0.25em 1em;}
不過(guò),網(wǎng)頁(yè)設(shè)計(jì)人員不必像這樣重復(fù)地鍵入這對(duì)數(shù)字。不需要用上面的規(guī)則,你可以試試以下規(guī)則:
p(margin:0.25em 1em;}
這兩個(gè)值足以取代前面的4個(gè)值。但這是怎么做到的呢?網(wǎng)站建設(shè)CSS定義了一些規(guī)則,允許為外邊距指定少于4個(gè)值。規(guī)則如下:
如果缺少左外邊距的值,則使用右外邊距的值。
如果缺少下外邊距的值,則使用上外邊距的值。
如果缺少右外邊距的值,則使用上外邊距的值。
如果需要一種更直觀的方法來(lái)了解這一點(diǎn),可以看看圖8-10。
換句話說(shuō),如果網(wǎng)頁(yè)設(shè)計(jì)人員為外邊距指定了3個(gè)值,則第4個(gè)值(即左外邊距)會(huì)從第2個(gè)值(右外邊距)復(fù)制得到。如果給定了兩個(gè)值,第4個(gè)值會(huì)從第2個(gè)值復(fù)制得到,第3個(gè)值(下外邊距)會(huì)從第1個(gè)值(上外邊距)復(fù)制得到。最后一種情況,如果只給定了一個(gè)值,那么其他3個(gè)外邊距都由這個(gè)值(上外邊距)復(fù)制得到。
利用這種簡(jiǎn)單的機(jī)制,創(chuàng)作人員只需指定必要的值,而不必全部都應(yīng)用4個(gè)值,如下所示:
h1{margin:0.25em 0 0.5em;}/*same as'0.25em 0 0.5em 0'*/
h2{margin:0.15em 0.2em;}/*same as'O.l5em 0.2em 0.15em 0.2em'*/
P{margin:0.5em 10px;}/*same as'0.5em 10px 0.5em 10px'*/
p.close(margin:0.1em;}/*same as'0.1em 0.1em 0.1em 0.1em'*/
這種方法有一個(gè)小缺點(diǎn),網(wǎng)頁(yè)設(shè)計(jì)人員最后肯定會(huì)遇到這個(gè)問(wèn)題。假設(shè)想將h1元素的上外邊距和左外邊距設(shè)置為10像素,下外邊距和右外邊距設(shè)置為20像素。在這種情況下,必須寫作:
h1{margin:10px 20px 20px 10px;}./*can't be any shorter*/
這樣才能得到想要的效果,但是要把這些全部鍵入需要一點(diǎn)的時(shí)間。遺憾的是,在這種情況下,所需值的個(gè)數(shù)沒(méi)有辦法更少了。再來(lái)看另一個(gè)例子,在此你希望除了左外邊距以外所有其他外邊距都是auto(左外邊距為3em)。
h2{margin:auto auto auto 3em;}
同樣地,這樣才能得到你想要的效果,問(wèn)題在于,鍵入這些auto有些麻煩。你想做的只是控制元素單邊上的外邊距,這就引入了下一個(gè)話題。