網(wǎng)頁設(shè)計中的內(nèi)邊距

元素框的內(nèi)邊距在邊框和內(nèi)容區(qū)之間。亳不奇怪,控制這個區(qū)的最簡單的屬性為padding。

padding

值:[<length>丨<percentage>]{1,4}1 inherit

初始值:對于簡寫元素未定義

應(yīng)用于:所有元素

繼承性:無

百分?jǐn)?shù):相對于包含塊的width

計算值:見單個屬性(padding-top等)

說明:內(nèi)邊距絕對不能為負(fù)

可以看到,這個屬性接受任何長度值或某個百分?jǐn)?shù)值。所以,如果網(wǎng)站建設(shè)人員希望所有h1元素的各邊都有10像素的內(nèi)邊距,這很容易:

h1{padding:10px;background-color:silver;}

另一方面,網(wǎng)站建設(shè)人員可能希望h1元素的內(nèi)邊距不均勻,而h2元素有規(guī)則的內(nèi)邊距:

h1{padding:lOpx 0.25em 3ex 3cm;}/*uneven padding*/

h2{padding:0.5em 2em;}/*values replicate to Che bottom and left sides*/

不過,如果只增加內(nèi)邊距,要真正看到所設(shè)置的內(nèi)邊距可能有些困難,所以下面加上一個背景色:

h1{padding:10px 0.25em 3ex 3cm;background:gray:}

h2{padding:0.5em 2em;background:silver;}

元素的背景延伸到其內(nèi)邊距。前面討論過,它還會延伸到邊框的外邊界,不過背景到達邊框之前必須先經(jīng)過內(nèi)邊距。

默認(rèn)地,元素沒有內(nèi)邊距。例如,段落之間的間隔傳統(tǒng)上只由外邊距保證。如果沒有內(nèi)邊距,元素的邊框會與元素本身的內(nèi)容相當(dāng)接近。因此,網(wǎng)頁設(shè)計在元素上放邊框時,同時增加內(nèi)邊距通常是一個好主意。

即使沒有使用邊框,內(nèi)邊距也能以特有的方式起作用??紤]以下規(guī)則:

p{margin:1em 0;padding:1em 0;}

p.one,p.three{background:gray;}

p.two,p.four{background:silver;}

p.three,p.four{margin:0;}

在這里,所有4個段落都有1em的上下內(nèi)邊距,而且其中兩個還有1em的上下外邊距。

前兩段有內(nèi)邊距,由于外邊距合并,它們之間只間隔1em。第二段和第三段也有1em的間隔,這是第二段的下外邊距帶來的。第三段和第四段之間沒有間隔,因為它們沒有外邊距。不過,請注意后兩段內(nèi)容區(qū)之間的距離:這里相距2em,因為內(nèi)邊距不合并,不同的背景色顯示出各段落從哪里開始到哪里結(jié)束。

因此,可以使用內(nèi)邊距來分隔元素的內(nèi)容區(qū),這種做法可能比使用外邊距的做法更困難,不過內(nèi)邊距也不是沒有價值。例如,要讓段落與內(nèi)邊距之間有傳統(tǒng)的“一個空行”的間隔,必須寫作:

p{margin:0;padding:0.5em 0;}

各段落的上下內(nèi)邊距(0.5em)將前后相接,構(gòu)成總共1em的間隔。為什么要這么做呢?因為這樣一來,如果設(shè)計人員愿意就可以在段落之間插入分隔邊框,而各邊的邊框在外觀上會構(gòu)成一條實線。這些效果見圖8-41所示:

p{margin:0;padding:0.5em 0;border-bottom:1px solid gray;border-left:3px double black;}

百分?jǐn)?shù)值和內(nèi)邊距

前面提到過,可以為元素的內(nèi)邊距設(shè)置百分?jǐn)?shù)值。像外邊距一樣,百分?jǐn)?shù)值要相對于其父元素的width計算,所以如果父元素的width改變,它們也會改變。例如,假設(shè)有以下規(guī)則。如圖8-42所示:

P{padding:10%;background-color:silver;}

<div style="width:200px;

<p>This paragraph is contained within a DIV that has a width of 200 pixels,so its padding will be 10%of the width of the paragraph's.parent element.Given the declared width of 200 pixels,the padding will be 20 pixels on all sides.</p>

</div>

<div style="width:100px;">

<p>This paragraph is contained within a DIV with a width of 100 pixels,so its padding will still be 10%of the width of the paragraph's parent.There will,therefore,be half as much padding on this paragraph as that on the first paragraph.</p>

</div>

注意,網(wǎng)頁設(shè)計中的上下內(nèi)邊距與左右內(nèi)邊距一致,也就是說,上下內(nèi)邊距的百分?jǐn)?shù)會相對于父元素寬度計算,而不是相對于高度。當(dāng)然,這在前面已經(jīng)見過(如果你忘了,可以提醒一下,我們在“外邊距”一節(jié)中討論過這個問題),不過還是有必要再回顧一下,看看它是如何作用的。

網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷咨詢專線:0871-63535511(點擊可一鍵撥號)