空元素(empty element)
一个空元素(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 中有以下这些空元素:
<area>
<base>
<br>
<col>
<colgroup>
when the span is present<command>
<embed>
<hr>
<img>
<input>
<keygen>
<link>
<meta>
<param>
<source>
<track>
<wbr>
可替换元素(Replaced element)
概述
CSS 里,可替换元素(replaced element)的展现不是由CSS来控制的。这些元素是一类 外观渲染独立于CSS的 外部对象。 典型的可替换元素有 <img>
、 <object>
、 <video>
和 表单元素,如<textarea>
、 <input>
。 某些元素只在一些特殊情况下表现为可替换元素,例如 <audio>
和 <canvas>
。 通过 CSS content 属性来插入的对象 被称作 匿名可替换元素(anonymous replaced elements)。
CSS在某些情况下会对可替换元素做特殊处理,比如计算外边距和一些auto值。
需要注意的是,一部分(并非全部)可替换元素,本身具有尺寸和基线(baseline),会被像vertical-align
之类的一些 CSS 属性用到。