CSS盒模型的類型

CSS把盒模型分爲兩種基本形態:Block(塊狀)和Inline(內聯,也有翻譯爲“行內”)。在默認狀態下,塊狀元素的寬度爲100%,而且後面隱藏附帶有換行符,使塊狀元素始終佔據一行。符合標準的常用塊狀元素如下表:

塊 狀 元 素

說    明

address

表示特定信息,如地址、簽名、作者、文檔信息。一般顯示爲斜體效果

blockquote

表示文本中的一段引用語。一般爲縮進顯示

div

表示通用包含塊,沒有明確的語義

dl

表示定義列表

fieldset

表示字段集,顯示爲一個方框,用來包含文本和其他元素

form

說明所包含的控件是某個表單的組成部分

h1-h6

表示標題,其中h1表示一級標題,字號最大,h6表示最小級別標題,字號最小

hr

畫一條橫線

noframes

包含對於那些不支持 FrameSet元素的瀏覽器使用的HTML

noscript

指定在不支持腳本的瀏覽器中顯示的HTML

ol

編制有序列表

p

表示一個段落

pre

以固定寬度字體顯示文本,保留代碼中的空格和回車

table

表示所含內容組織成含有行和列的表格形式

ul

表示不排序的項目列表

li

表示列表中的一個項目

legend

在FieldSet元素繪製的方框內插入一個標題

內聯元素沒有高度和寬度,因此也就沒有固定的形狀,定義它的width和height屬性無效。內聯元素可以在行內自由流動,但它會遵循盒模型基本規則,如可以定義邊界、補白和邊框,可以定義背景。它的最小內容單元也會呈現矩形形狀,但它顯示的高度和寬度只能根據所包含內容的高度和寬度來確定。有人把塊狀元素比作硬木盒子,而把內聯元素比作隨意變形的皮紙袋子,這還是挺形象的。符合標準的常用內聯元素如下:

內 聯 元 素

說    明

a

表示超鏈接

abbr

標註內部文本爲縮寫,用title屬性標示縮寫的全稱,在非IE瀏覽器中會以下點劃線顯示,IE不支持

acronym

表示取首字母的縮寫詞,一般顯示爲粗體,部分瀏覽器支持

b

指定文本以粗體顯示

bdo

用於控制包含文本的閱讀順序,如<bdo dir="rtl">this fragment is in english</bdo>,瀏覽器會從右到左顯示文本

big

指定所含文本要以比當前字體稍大的字體顯示

續表

內 聯 元 素

說    明

br

插入一個換行符

button

指定一個容器,可以包含文本,顯示爲一個按鈕

cite

表示引文,以斜體顯示

code

表示代碼範例,以等寬字體顯示

dfn

表示術語,以斜體顯示

em

表示強調文本,以斜體顯示

i

指定文本以斜體顯示

img

插入圖像或視頻片斷

input

創建各種表單輸入控件

kbd

以定寬字體顯示文本

label

爲頁面上的其他元素指定標籤

map

包含客戶端圖像映射的座標數據

object

插入對象

q

分離文本中的引語

samp

表示代碼範例

script

指定由腳本引擎解釋的頁面中的腳本

select

表示一個列表框或者一個下拉框

small

指定內含文本要以比當前字體稍小的字體顯示

span

指定內嵌文本容器

strike

帶刪除線顯示文本

strong

以粗體顯示文本

sub

說明內含文本要以下標的形式顯示,比當前字體稍小

sup

說明內含文本要以上標的形式顯示,比當前字體稍小

textarea

多行文本輸入控件

tt

以固定寬度字體顯示文本

var

定義程序變量,通常以斜體顯示

盒模型的顯示類型可以使用display屬性來顯式定義。任何元素都可以通過display屬性改變默認顯示類型,因此也會改變該元素所對應的網頁佈局結構。

display屬性共有18個選項值,詳細說明如下:

l  block:塊狀顯示,在元素後面添加換行符,也就是說其他元素不能在其後面並列顯示。

l  none:隱藏顯示,這與visibility:hidden;聲明不同,display:none;聲明不會爲被隱藏的元素保留位置。

l  inline:內聯顯示,在元素後面刪除換行符,多個元素可以在一行內並列顯示。

l  inline-block:內聯顯示,但是元素的內容以塊狀顯示,行內其他內聯元素還會顯示在同一    行內。

l  compact:緊湊的塊狀顯示,或基於內容之上的內聯顯示。

l  marker:在容器對象之前或之後顯示,該屬性值必須與:after和:before僞元素一起使用。

l  inline-table:具有內聯特徵的表格顯示。

l  list-item:具有塊狀特徵的列表項目顯示,並可以添加可選項目標誌。

l  run-in:塊狀顯示或基於內容之上的內聯顯示。

l  table:具有塊狀特徵的表格顯示。

l  table-caption:表格標題顯示。

l  table-cell:表格單元格顯示

l  table-column:表格列顯示。

l  table-column-group:表格列組顯示。

l  table-header-group:表格標題組顯示。

l  table-footer-group :表格頁腳組顯示。

l  table-row:表格行顯示。

l  table-row-group:表格行組顯示。

更詳細說明可以參考CSS參考手冊。如果單從佈局角度來分析,這些顯示類型都可以劃歸爲block和inline兩種基本顯示形態,其他類型都是這兩種類型的特殊顯示。其中真正能夠應用並獲得所有瀏覽器支持的取值只有4個:block、none、inline、list-item。

none屬性值表示隱藏並取消盒模型,這樣元素所包含的內容就不會被瀏覽器解析和顯示,同樣這個盒子所包含的任何元素都會被瀏覽器忽略,不管它們是否被聲明爲其他屬性。

list-item屬性值表示列表項目,其實質上也是塊狀顯示,不過是一種特殊的塊狀類型,它增加了縮進和項目符號。

另外,還有一些比較有用的顯示類型,如table、table-cell、inline-block、inline-table等,它們在特殊佈局中具有重要的實用價值,但限於IE 6及更低版本瀏覽器對這些屬性值的不支持,因此限制了它們的優勢被普及應用。

[摘抄自《CSS商業網站佈局之道》]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章