在this question和其他地方在线,&#34;替换元素&#34;引用具有特殊属性的内容,通常引用<img>
标记,<svg>
标记等示例。但是,我试图设计一些我无法控制的第三方库输出的元素,我想知道完全我可以使用哪些元素并且无法使用:before
和:after
等伪元素。
即使the actual documentation替换了元素,也没有确切的列表。哪些元素被替换为&#34;?
答案 0 :(得分:4)
您正在寻找错误的规范。
替换元素是那些内容将在文档准备阶段替换的内容。在更换发生之前,浏览器(或官方用户代理)无法知道确切的尺寸。例如,img
元素的内容将替换为定义为其src
属性的图像。只有在更换后,浏览器才能知道它的宽度和高度,然后尝试将其渲染到正确的位置。
请注意,偶:before
和:after
可能是替换元素,具体取决于CSS中定义的content
属性。
我看到很多时候人们对替换元素和 void elements 感到困惑,因为我们使用的替换元素最多,例如{{1} }和img
,也是无效元素。 虚空元素实际上是您应该寻找的。 p>
来自w3c spec:
的引用void元素是一个元素,其内容模型在任何情况下都不允许它拥有内容。 Void元素可以具有属性。
上面引用中所述的内容是指标记中的元素和伪元素,而不是渲染文档。
以下是HTML中的void元素的完整列表:
input
,area
,base
,br
,col
,command
,embed
,hr
,img
,input
,keygen
,link
,meta
,param
,source
,track
很容易确定元素是否为空 - 所有void元素都是自闭的,所有非void元素都必须有一个结束标记。
答案 1 :(得分:1)
在html
中,替换元素是指那些已经拥有内在维度的内容:
替换元素列表:
<applet>
<audio>
<br>
<button>
<canvas>
<embed>
<iframe>
<img>
<input>
<math>
<object>
<select>
<svg>
<textarea>
<video>