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商業網站佈局之道》]