替换元素列表

时间:2016-08-04 23:42:58

标签: html

this question和其他地方在线,&#34;替换元素&#34;引用具有特殊属性的内容,通常引用<img>标记,<svg>标记等示例。但是,我试图设计一些我无法控制的第三方库输出的元素,我想知道完全我可以使用哪些元素并且无法使用:before:after等伪元素。

即使the actual documentation替换了元素,也没有确切的列表。哪些元素被替换为&#34;?

2 个答案:

答案 0 :(得分:4)

您正在寻找错误的规范。

替换元素是那些内容将在文档准备阶段替换的内容。在更换发生之前,浏览器(或官方用户代理)无法知道确切的尺寸。例如,img元素的内容将替换为定义为其src属性的图像。只有在更换后,浏览器才能知道它的宽度和高度,然后尝试将其渲染到正确的位置。

请注意,:before:after可能是替换元素,具体取决于CSS中定义的content属性。

我看到很多时候人们对替换元素 void elements 感到困惑,因为我们使用的替换元素最多,例如{{1} }和img,也是无效元素。 虚空元素实际上是您应该寻找的。

来自w3c spec

的引用
  

void元素是一个元素,其内容模型在任何情况下都不允许它拥有内容。 Void元素可以具有属性。

上面引用中所述的内容是指标记中的元素和伪元素,而不是渲染文档。

以下是HTML中的void元素的完整列表:

  
      
  • inputareabasebrcolcommandembedhrimginputkeygenlinkmetaparamsourcetrack
  •   

很容易确定元素是否为空 - 所有void元素都是自闭的,所有非void元素都必须有一个结束标记。

答案 1 :(得分:1)

html中,替换元素是指那些已经拥有内在维度的内容:

替换元素列表:

  • <applet>
  • <audio>
  • <br>
  • <button>
  • <canvas>
  • <embed>
  • <iframe>
  • <img>
  • <input>
  • <math>
  • <object>
  • <select>
  • <svg>
  • <textarea>
  • <video>