空元素&可替代元素

478 阅读1分钟

空元素(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 标记中,因此是“匿名的”。