空元素和可替換元素

zachcoco發表於2018-12-10

空元素(空標籤)

一個空元素(empty element)可能是 HTML,SVG,或者 MathML 裡的一個不可能存在子節點(例如內嵌的元素或者元素內的文字)的element

HTMLSVGMathML 的規範都詳細定義了每個元素能包含的具體內容(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 屬性用到。



相關文章