空元素(空標籤)
一個空元素(empty element)可能是 HTML,SVG,或者 MathML 裡的一個不可能存在子節點(例如內嵌的元素或者元素內的文字)的element。
HTML,SVG 和 MathML 的規範都詳細定義了每個元素能包含的具體內容(define very precisely what each element can contain)。許多組合是沒有任何語義含義的,比如一個 <audio>
元素巢狀在一個 <hr>
元素裡。
在 HTML 中,通常在一個空元素上使用一個閉標籤是無效的。例如, <input type="text"></input>
的閉標籤是無效的 HTML。
在 HTML 中有以下這些空元素:
可替換元素(可替換標籤)
可以被替換的標籤,比如
<img src="aaa.jpg">
,瀏覽器會去指定的路徑找到aaa.jpg,並用找到的內容替換掉<img src="aaa.jpg">
CSS 裡,可替換元素(replaced element)的展現不是由CSS來控制的。這些元素是一類 外觀渲染獨立於CSS的 外部物件。 典型的可替換元素有: <img>
、 <object>
、 <video>
和 表單元素,如<textarea>
、 <input>
。 某些元素只在一些特殊情況下表現為可替換元素,例如 <audio>
和 <canvas>
。 通過 CSS content
屬性來插入的物件 被稱作 匿名可替換元素(anonymous replaced elements)。
CSS在某些情況下會對可替換元素做特殊處理,比如計算外邊距和一些auto值。
需要注意的是,一部分(並非全部)可替換元素,本身具有尺寸和基線(baseline),會被像vertical-align
之類的一些 CSS 屬性用到。