<pseudo> </pseudo>
?
CSS 的伪元素不在 DOM 中。但在内部,它们必须等同于某种通用 HTML 元素,因为它们可以设置样式、可见,并且它们会影响页面流。
伪元素的元素类型是什么?
我们可以在不使用 CSS 的情况下以编程方式创建它们吗?
就文档语言而言,伪元素没有元素类型,因为正如您所说,它们不存在于 DOM 中,并且可以从“伪”前缀推断出它们不是“真实的”元素。 CSS 只是称它们为伪元素,但是您可以为不同的目的或元素结构的不同部分使用不同的伪元素,例如不言自明的::first-letter
and ::first-line
, and ::before
and ::after
用于在元素的实际内容之前和之后生成内容。
伪元素影响页面流与 DOM 无关。浏览器使用 CSS 将 DOM 元素布局和格式化为可以呈现到屏幕上的对象,并在此过程中创建伪元素作为为真实元素制作的框的后代。虽然您通常将伪元素附加到元素,但您不会以任何方式更改 DOM;相反,您只需更改浏览器的页面布局方式即可。
因为伪元素是 CSS 特有的概念(定义在选择器模块 http://www.w3.org/TR/selectors/#pseudo-elements),您不能使用 CSS 以外的任何内容来创建它们。伪元素作为 CSS 概念的实现定义在CSSOM http://www.w3.org/TR/cssom相反,它是 DOM 的 CSS 等价物(其中方法如window.getComputedStyle()
被定义)。然而,我对 CSSOM 不是很熟悉,所以我无法进一步评论,因为它们的实现与 CSS 中的真实元素非常相似。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)