根据W3C,选择器的定义不包括伪元素: https://www.w3.org/TR/css3-selectors/#selector-syntax
以上链接说:
选择器是一个或多个简单选择器序列的链 由组合子分开。
它还说:
一个简单的选择器是一个类型选择器,通用选择器, 属性选择器,类选择器,ID选择器或伪类。
关于如何使用伪元素,它说:
一个伪元素可以附加到最后一个简单序列 选择器中的选择器。
和
每个选择器只能出现一个伪元素,如果存在则 必须出现在表示代码的简单选择器序列之后 选择者的主题。
这是否意味着伪元素只能是"有效"的后缀。选择器,不应该单独使用?
答案 0 :(得分:7)
这是否意味着伪元素只能是“有效”的后缀 选择器,不应该单独使用?
您的结论不正确,因为universal selector *
可以省略。
如果由
*
[...]代表的通用选择器立即生效 然后是pseudo-element,然后可以省略*
普遍选择者的存在隐含着。
所以你可以单独使用一个伪元素,例如::before
,因为它会被视为*::before
。
::before {
content: 'Hello!';
}