伪元素中到底是什么让伪元素变成了伪?

What is it in a pseudo-element that makes the pseudo-element pseudo?

在我的另一个问题 中,我得到了这个答案:

"A pseudo-element is something that acts like an element, but is not an element".

为什么伪元素不是元素?

伪元素不在dom中。这就是使它不是元素的原因。它是由 CSS.

创建的元素

伪元素无法被各种技术看到或操纵。例如,许多 JavaScript 方法不适用于伪元素。这就是为什么 "not an element."

进一步解释:

元素是 dom 中的项目。例如div、p、span都是html元素。它们出现在 dom 中,并且可以使用 CSS 和 JavaScript.

来操纵它们的行为和外观。

伪元素不在dom中。 p:before 和 .header:after 是伪元素的例子。这些项目不会出现在 dom 中。相反,它们是为网站外观添加内容而创建的元素。例如。

.quote:before, .quote:after {
    content: '"';
}

将在任何标有 class 引号的元素的开头和结尾添加引号。这将使它看起来像一个报价。您可以设置这些引号的样式,使它们看起来更像块引号或您想要的任何样式。

这些实际上不会在 dom 中创建元素,但它们会创建一些行为类似于您可以设置样式的元素。

这里是关于伪元素的进一步阅读: http://www.w3schools.com/css/css_pseudo_elements.asp

这里列出了您可以使用伪元素执行的操作,可以帮助您更好地可视化它。 https://css-tricks.com/pseudo-element-roundup/

我希望这对你更有意义。