<pseudo> </pseudo>
?什么是伪元素的元素类型?
CSS的伪元素不在DOM。但是在内部,它们必须等同于某种通用HTML元素,因为它们可以被设置样式,可以被看见,并且会影响页面流。
什么是伪元素的元素类型?
而且我们可以通过编程创建它们,而不使用CSS?
<pseudo> </pseudo>
?什么是伪元素的元素类型?
CSS的伪元素不在DOM。但是在内部,它们必须等同于某种通用HTML元素,因为它们可以被设置样式,可以被看见,并且会影响页面流。
什么是伪元素的元素类型?
而且我们可以通过编程创建它们,而不使用CSS?
就文档语言而言,伪元素没有元素类型,因为正如您声明的那样,它们不存在于DOM中,并且可以从“伪”前缀推断出来,不要“真实”的元素。 CSS只是称他们为伪元素,但是你有不同的目的或元素结构的不同部分,如不同的伪元素不言自明::first-letter
和::first-line
,并::before
和::after
之前和元素的实际内容后生成的内容。
这伪元素影响的页面流无关与DOM。浏览器使用CSS布局并将DOM元素格式化为可呈现到屏幕的对象,并在此过程中创建伪元素作为用于实际元素的框的后代。尽管您通常会将伪元素附加到元素,但您并未以任何方式更改DOM;相反,你只是在改变浏览器如何布置页面。
因为伪元素是唯一的CSS(在Selectors module定义)的一个概念,你不能使用CSS比任何其他创建。作为CSS概念的伪元素的实现在CSSOM中定义,而不是DOM的CSS等价物(并且其中定义诸如window.getComputedStyle()
的方法)。不过,我对CSSOM并不是很熟悉,所以我不能进一步评论它们的实现与CSS中的实际元素非常类似。
这是一个很好的答案,它是有道理的,但你有证据。可能有一些鲜为人知的浏览器API ... document._webkit_createPseudoElementBox(...) – 2013-03-17 12:39:31
它在spec链接中 - 如果有方法,它们可能是CSSOM方法而不是DOM方法。 – BoltClock 2013-03-17 12:45:03
很酷。我知道今天有一个CSSOM。 – 2013-03-17 12:46:26