第8天 CSS布局入門

2022-03-17 11:03:17 字數 2323 閱讀 7731

css布局與傳統**(table)布局最大的區別在於:原來的定位都是採用**,通過**的間距或者用無色透明的gif來控制文布局版塊的間距;而現在則採用層(div)來定位,通過層的margin,padding,border等屬性來控制版塊的間距。

1.定義div

分析乙個典型的定義div例子:

#sample

說明如下:

層的名稱為sample,在頁面中用就可以呼叫這個樣式。

margin是指層的邊框以外留的空白,用於頁邊距或者與其它層製造乙個間距。"10px 10px 10px 10px"分別代表"上右下左"(順時針方向)四個邊距,如果都一樣,可以縮寫成"margin: 10px;"。如果邊距為零,要寫成"margin: 0px;"。注意:當值是零時,除了rgb顏色值0%必須跟百分號,其他情況後面可以不跟單位"px"。margin是透明元素,不能定義顏色。

padding是指層的邊框到層的內容之間的空白。和margin一樣,分別指定上右下左邊框到內容的距離。如果都一樣,可以縮寫成"padding:0px"。單獨指定左邊可以寫成"padding-left: 0px;"。padding是透明元素,不能定義顏色。

border是指層的邊框,"border-right: #ccc 2px solid;"是定義層的右邊框顏色為"#ccc",寬度為"2px",樣式為"solid"直線。如果要虛線樣式可以用"dotted"。

background是定義層的背景。分2級定義,先定義背景,採用"url(../images/bg_logo.gif)"來指定背景路徑;其次定義背景色"#fefefe"。"no-repeat"指背景不需要重複,如果需要橫向重複用"repeat-x",縱向重複用"repeat-y",重複鋪滿整個背景用"repeat"。後面的"right bottom;"是指背景從右下角開始。如果沒有背景可以只定義背景色background: #fefefe

color用於定義字型顏色,上一節已經介紹過。

text-align用來定義層中的內容排列方式,center居中,left居左,right居右。

line-height定義行高,150%是指高度為標準高度的150%,也可以寫作:line-height:1.5或者line-height:1.5em,都是一樣的意思。

width是定義層的寬度,可以採用固定值,例如500px,也可以採用百分比,象這裡的"60%"。要注意的是:這個寬度僅僅指你內容的寬度,不包含margin,border和padding。但在有些瀏覽器中不是這麼定義的,需要你多試試。

下面是這個層的實際表現:

這裡是演示內容,這裡是演示內容,這裡是演示內容,這裡是演示內容,這裡是演示內容,這裡是演示內容,這裡是演示內容,這裡是演示內容,

這裡是演示內容,這裡是演示內容,

這裡是演示內容,這裡是演示內容,

這裡是演示內容...

我們可以看到邊框是2px的灰色,背景在右下沒有重複,內容距離上和左邊框20px,內容居中,一切和預想的一樣。hoho,雖然不好看,但它是最基本的,掌握了它,你就已經學會一半的css布局技術了。就是這樣,不算難吧!(另一半是什麼?另一半是層與層之間的定位。我會在後面逐步講解。)

2.css2盒模型

自從2023年css1的推出,w3c組織就建議把所有網頁

上的對像都放在乙個盒(box)中,設計師可以通過建立定義來控制這個盒的屬性,這些對像包括段落、列表、標題、以及層。盒模型主要定義四個區域:內容(content)、邊框距(padding)、邊界(border)和邊距(margin)。上面我們講的sample層就是乙個典型的盒。對於初學者,經常會搞不清楚margin,background-color,background-image,padding,content,border之間的層次、關係和相互影響。這裡提供一張盒模型的3d示意圖,希望便於你的理解和記憶。

3.輔助一律用背景處理

用xhtml+css布局,有乙個技術一開始讓你不習慣,應該說是一種思維方式與傳統**布局不一樣,那就是:所有輔助都用背景來實現。類似這樣:

儘管可以用

直接插在內容中,但這是不推薦的。這裡的"輔助"是指那些不是作為頁面要表達的內容的一部分,而僅僅用於修飾、間隔、提醒的。例如:相簿中的、新聞中的,上面的3d盒模型都屬於內容的一部分,它們可以用

元素直接插在頁面裡,而其它的類似logo,標題,列表字首都必須採用背景方式或者其他css方式顯示。

這樣做的原因有2點:

將表現與結構徹底相分離(參考閱讀另一篇文章:《理解表現與結構相分離》),用css控制所有的外觀表現,便於改版。

使頁面更具有易用性,更有親和力。例如:盲人使用螢幕閱讀機,用背景技術實現的就不會被朗讀出來。

第8天 CSS布局入門

css 布局與傳統 table 布局最大的區 別在於 原來的定位都是採用 通 過 的 間距或者用無色透明的 gif圖 片來控制文布局版塊的 間距 而現在 則採用層 div 來定位,通過層的 margin,padding,border 等屬性來控制版塊的 間距。1.定義 div分析乙個典型的定 義di...

第8天 CSS布局入門

css布局與傳統 table 布局最大的區別在於 原來的定位都是採用 通過 的間距或者用無色透明的gif來控制文布局版塊的間距 而現在則採用層 div 來定位,通過層的margin,padding,border等屬性來控制版塊的間距。分析乙個典型的定義div例子 sample 說明如下 下面是這個層...

使用Web標準建站第8天 CSS布局入門 2

接下來開始要真正設計布局了。和傳統的方法一樣,你首先要在腦海裡有大致的輪廓構想,然後用photoshop把它畫出來。你可能看到有關web標準的站點大都很樸素,因為web標準更關注結構和內容,實際上它與網頁的美觀沒有根本衝突,你想怎麼設計就怎麼設計,用傳統 方法實現的布局,用div也可以實現。技術有乙...