空元素(empty element)
空元素,可能是 HTML,SVG,或者 MathML 里的一个不存在子节点(例如内嵌的元素或者元素内的文本)的element。但是空元素可以有自己的属性,要区分属性和节点。
空元素中嵌套子节点是没有语义含义的。
空元素一般是没有闭合标签的,如果空元素使用了闭合标签,例如:<input></input> ,那么一般这个标签就会变得无效。
常见的空元素:
- <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 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于当前文档使用的 CSS样式 的。一般来说当前文档的CSS样式唯一能够控制的是可替代元素在当前文档的位置。
常见的可替换元素:
典型的可替换元素
- <iframe>
- <video>
- <embed>
- <img>
特定情况下的可替换元素
- <option>
- <audio>
- <canvas>
- <object>
- <applet>
<input>
<input>在type为image的情况下可以像<img>一样被当做可替换元素,但是其他type类型下,被明确地列为非可替换元素。
CSS 中的 content
用 CSS content 属性插入的对象是匿名的可替换元素。它们并不存在于 HTML 标记中,因此是“匿名的”。