此篇會從,以前 HTML 標籤主要的兩種類型(區塊元素、行內元素)來開始介紹,最後會介紹新增的 Content categories。
瀏覽器通常在顯示區塊元素時,在元素前後都有一個換行符號。可以把它們想像成一堆盒子(block box)。
常見的區塊元素有:<div>、<h1~h6>、<ul>、<li>、<p>、<hr> 其餘元素請參考 MDN 文件。
Tips

<span class="bg-yellow-200">行內元素</span>
<div class="bg-sky-200">區塊元素</div>
<span class="bg-yellow-200">行內元素</span>
從上方範例來看區塊元素特性
行內元素只會佔據定義元素標籤,本身的空間,而非破壞原本的內容的佈局。
常見的行內元素有:<a>、<span>、<br> 其餘元素請參考 MDN 文件。
Tips
<p class="bg-sky-200">
這是一段還有<span class="bg-yellow-200">黃色文字</span>的段落</p>

從上方範例來看行內元素特性
由於行內元素特性較多,此篇幅不會介紹太多,詳細的可以參考前面這篇文章 行內元素特性與常見錯誤用法。
下方從三個方向(包裹彼此、起始位置、結構大小)來討論兩者差異。
可以包行內元素不能包區塊元素(雖然不是不能包區塊元素,但不建議這麼做)因為行內元素只會包含 data 以及其他行內元素,有一個例外就是 a 標籤。
新的一行開始任意位置開始比較大的結構比較小的結構區塊元素可能包含行內元素和其他區塊元素,這種結構是為了區別出更大的結構,使區塊元素建立比行內元素更大型的結構。
在歷史上元素被歸類為 區塊元素、行內元素。由於這是一種特徵的呈現,它現在變為 CSS Flow Layout 來指定。
區塊元素、行內元素主要為 HTML 4.01 之前使用,HTML5 後的元素被更複雜的 Content categories 所取代。
HTML5 後新增了很多語意化標籤(例如:header、footer、article)以及定義了更多不同種類的標籤(例如:canvas、audio、video),為了在使用 HTML 標籤時能夠清楚表達該區塊的用途,如果只靠 區塊元素、行內元素 來代表元素的種類鐵定是不夠的。
因此才會有新的 Content categories 出現,來依照
不同的用途,區分出更多元素類別。
Tips
除了上述兩種類別外還有其餘幾種可以參考 MDN 文件(Metadata content、Sectioning content、Heading content、Embedded content、Interactive content、Palpable content、Form-associated content)。