可以在CSS中单独使用伪元素吗?

mar*_*cel 8 css css-selectors css3 pseudo-element

根据W3C,选择器的定义不包括伪元素:https: //www.w3.org/TR/css3-selectors/#selector-syntax

以上链接说:

选择器是由组合器分隔的一个或多个简单选择器序列的链.

它还说:

简单的选择器是类型选择器,通用选择器,属性选择器,类选择器,ID选择器或伪类.

关于如何使用伪元素,它说:

可以将一个伪元素附加到选择器中的最后一个简单选择器序列.

每个选择器只能出现一个伪元素,如果存在,它必须出现在代表选择器主体的简单选择器序列之后.

那么这是否意味着伪元素只能是"有效"选择器的后缀而不应该单独使用?

Ori*_*iol 7

这是否意味着伪元素只能是"有效"选择器的后缀,不应该单独使用?

您的结论不正确,因为可以省略通用选择器 *.

如果由*[...] 表示的通用选择器后面紧跟一个伪元素,那么*可以省略它并且隐含通用选择器的存在.

所以你可以单独使用伪元素,例如::before,因为在引擎盖下它将被视为*::before.

::before {
  content: 'Hello!';
}
Run Code Online (Sandbox Code Playgroud)