學習html後, 你會了解一些基本的html元素(Element), 如p, h1~h6, br, div, li, ul, img等.
如果将這些元素細分, 又可以分别歸為頂級(top-level)元素,塊級(block-level)元素和内聯(inline)元素.
1. Top-level element 【頂級元素】: { html, body, frameset }
包括html, body, frameset, 表現如Block-level element, 屬于進階塊級元素.
2. Block-level element 【塊級元素】: { p, h1~h6, div, ul }
顧名思義就是以塊顯示的元素,高度寬度都是可以設定的。比如我們常用的 p, h1~h6, div, ul 預設狀态下都是屬于塊級元素。塊級元素比較霸道,預設狀态下每次都占據一整個行,後面的内容也必須再新起一行顯示。當然非塊級元素也可以通過css的display:block;将其更改成塊級元素。此外還有個特殊的,float也具有此功能。
塊級元素能夠獨立存在, 一般的塊級元素之間以換行(如一個段落結束後另起一行)分隔。塊級元素是構成一個html的主要和關鍵元素, 而任意一個塊級元素均可以用Box model來解釋說明.
3. Inline element 【内聯元素】: { a, br, em, img, li, span }
通俗點來說就是文本的顯示方式,與塊級元素相反,内聯元素的高度寬度是不可以設定的,其寬度就是自身文字或者圖檔的寬度。我們常用到的<a>、<span>、<em>都屬于内聯元素。内聯元素的顯示特點就是像文本一樣的顯示,不會獨自占據一個行。當然内聯元素也能變成塊級元素,那就是通過css的display:inline;和float來實作。
内聯元素依附其他塊級元素存在, 緊接于被聯元素之間顯示, 而不換行.
在《CSS權威指南》這樣定義到,“任何不是塊級元素的可見元素都是内聯元素。其表現的特性是“行布局”形式。”我個人不太習慣“行布局”的說話,因為我認為塊級元素從表現上更像“行”顯示,而内聯元素更像是“文本”的顯示屬性。這其中一點記住很關鍵,“内聯元素的高度寬度都是不可以設定的,其寬度就是自身文字或者圖檔的寬度”。因為在你設定寬度高度大半天後沒反應才發現,原來這隻是個内聯元素。