伪元素的元素类型是什么?

Cri*_*low 5 css dom css3 pseudo-element

<pseudo> </pseudo>

CSS的伪元素不在DOM中.但在内部它们必须等同于某种通用HTML元素,因为它们可以被设置样式,可见,并且它们会影响页面流.

伪元素的元素类型是什么?

我们可以在不使用CSS的情况下以编程方式创建它们吗?

Bol*_*ock 5

就文档语言而言,伪元素没有元素类型,因为正如你所说,它们不存在于DOM中,并且可以从"伪"前缀推断,它们不是"真实的"元素.CSS只是称他们为伪元素,但是你有不同的目的或元素结构的不同部分,如不同的伪元素不言自明的::first-letter::first-line,并::before::after之前和元素的实际内容后生成的内容.

那些伪元素影响页面流与DOM无关.浏览器使用CSS来布局DOM元素并将其格式化为可以呈现给屏幕的对象,并且在这样做的过程中创建伪元素作为为真实元素制作的框的后代.虽然您通常会将伪元素附加到元素,但您不会以任何方式更改DOM; 相反,你只是改变浏览器如何布局页面.

因为伪元素是CSS独有的概念(在Selectors模块中定义),所以不能使用CSS以外的任何东西创建它们.伪元素作为CSS概念的实现是在CSSOM中定义的,它是DOM的CSS等价物(以及window.getComputedStyle()定义方法的地方).但是我对CSSOM并不是很熟悉,所以我不能进一步评论它们在CSS方面与真实元素的实现非常相似.