有人可以解释该content
属性在浏览器内部是如何工作的吗?它是否会在 DOM 中创建一个新节点,即使它没有显示在 webInspector 中。它会像真正的 DOM 节点一样对内存消耗产生同样的影响吗?
问问题
74 次
2 回答
2
生成的内容不会改变文档树。特别是,它不会被反馈给文档语言处理器(例如,用于重新解析)。
于 2013-01-21T20:38:28.240 回答
2
来自W3C:
此属性(内容)与 :before 和 :after 伪元素一起用于在文档中生成内容。生成的内容不会改变文档树。特别是,它不会被反馈给文档语言处理器(例如,用于重新解析)。
此外,根据MDN:
使用 content 属性插入的对象是匿名替换元素。在 CSS 中,被替换元素是其表示超出 CSS 范围的元素。这些是一种外部对象,其表示独立于 CSS。典型的替换元素是
<image>
,或形成元素<object>
,如, 。某些元素,例如或仅在特定情况下被替换元素。使用 CSS 内容属性插入的对象是匿名替换元素。CSS 在某些情况下专门处理替换元素,例如在计算边距和一些自动值时。请注意,某些被替换的元素(但不是全部)具有固有尺寸或定义的基线,这些被一些 CSS 属性(如垂直对齐)使用。<video>
<textarea>
<input>
<audio>
<canvas>
于 2013-01-21T20:37:49.940 回答