CSS布局與傳統(tǒng)表格(table)布局最大的區(qū)別在于:原來的定位都是采用表格,通過表格的間距或者用無色透明的GIF圖片來控制文布局版塊的間距;而現(xiàn)在則采用層(P)來定位,通過層的margin,padding,border等屬性來控制版塊的間距。
分析一個典型的定義P例子:
#sample{ MARGIN: 10px 10px 10px 10px;
PADDING:20px 10px 10px 20px;
BORDER-TOP: #CCC 2px solid;
BORDER-RIGHT: #CCC 2px solid;
BORDER-BOTTOM: #CCC 2px solid;
BORDER-LEFT: #CCC 2px solid;
BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom;
COLOR: #666;
TEXT-ALIGN: center;
LINE-HEIGHT: 150%; WIDTH:60%; }
說明如下:
下面是這個層的實(shí)際表現(xiàn):
這里是演示內(nèi)容,這里是演示內(nèi)容,這里是演示內(nèi)容,這里是演示內(nèi)容,這里是演示內(nèi)容,這里是演示內(nèi)容,這里是演示內(nèi)容,這里是演示內(nèi)容,
這里是演示內(nèi)容,這里是演示內(nèi)容,
這里是演示內(nèi)容,這里是演示內(nèi)容,
這里是演示內(nèi)容…我們可以看到邊框是2px的灰色,背景圖片在右下沒有重復(fù),內(nèi)容距離上和左邊框20px,內(nèi)容居中,一切和預(yù)想的一樣。hoho,雖然不好看,但它是最基本的,掌握了它,你就已經(jīng)學(xué)會一半的CSS布局技術(shù)了。就是這樣,不算難吧!(另一半是什么?另一半是層與層之間的定位。我會在后面逐步講解。)
自從1996年CSS1的推出,W3C組織就建議把所有網(wǎng)頁上的對像都放在一個盒(box)中,設(shè)計(jì)師可以通過創(chuàng)建定義來控制這個盒的屬性,這些對像包括段落、列表、標(biāo)題、圖片以及層<P>。盒模型主要定義四個區(qū)域:內(nèi)容(content)、邊框距(padding)、邊界(border)和邊距(margin)。上面我們講的sample層就是一個典型的盒。對于初學(xué)者,經(jīng)常會搞不清楚margin,background-color,background-image,padding,content,border之間的層次、關(guān)系和相互影響。這里提供一張盒模型的3D示意圖,希望便于你的理解和記憶。
用XHTML+CSS布局,有一個技術(shù)一開始讓你不習(xí)慣,應(yīng)該說是一種思維方式與傳統(tǒng)表格布局不一樣,那就是:所有輔助圖片都用背景來實(shí)現(xiàn)。類似這樣:
BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom;
盡管可以用<img>直接插在內(nèi)容中,但這是不推薦的。這里的”輔助圖片”是指那些不是作為頁面要表達(dá)的內(nèi)容的一部分,而僅僅用于修飾、間隔、提醒的圖片。例如:相冊中的圖片、圖片新聞中的圖片,上面的3d盒模型圖片都屬于內(nèi)容的一部分,它們可以用<img>元素直接插在頁面里,而其它的類似logo,標(biāo)題圖片,列表前綴圖片都必須采用背景方式或者其他CSS方式顯示。
這樣做的原因有2點(diǎn):