CSS伪类可以命名吗?
例如,在CSS中使用名称空间时,可以使用名称空间类型选择器选择任意或无名称空间中的任何div元素:CSS伪类可以命名吗?,css,namespaces,css-selectors,pseudo-class,Css,Namespaces,Css Selectors,Pseudo Class,例如,在CSS中使用名称空间时,可以使用名称空间类型选择器选择任意或无名称空间中的任何div元素: *|div 为伪类命名名称空间是否有效?例如: *|:first-child 它似乎适用于基于WebKit的浏览器,在IE9中似乎不起作用,因为IE9根本不支持名称空间和Firefox。我不在乎它在什么浏览器中工作/不工作,我只需要知道它是否是一个有效的构造 从我在报纸上看到的情况来看,这是无效的。但是我可能误读了语法。名称空间作为文档语言的一部分,并不直接应用于伪类或伪元素,因为它们是在C
*|div
为伪类命名名称空间是否有效?例如:
*|:first-child
它似乎适用于基于WebKit的浏览器,在IE9中似乎不起作用,因为IE9根本不支持名称空间和Firefox。我不在乎它在什么浏览器中工作/不工作,我只需要知道它是否是一个有效的构造
从我在报纸上看到的情况来看,这是无效的。但是我可能误读了语法。名称空间作为文档语言的一部分,并不直接应用于伪类或伪元素,因为它们是在CSS中定义的,而不是在文档语言(如XML)中定义的。但是,元素类型和属性是在文档语言中定义的,而不是CSS,这就是为什么它们可以命名的原因。因此,在一系列简单选择器中,通用选择器明确表示任何类型 当在没有名称空间的情况下使用时,通用选择器仅适用于其他简单选择器和伪元素。这就是为什么.foo、target、[type=text]、:first child和::before等选择器是有效的,并且通常与HTML等语言一起使用,其中CSS最常用于样式设置。从: 如果由*表示的通用选择器(即不带名称空间前缀的选择器)不是选择器的唯一组件,或者紧跟着a,则可以省略*并暗示通用选择器的存在 因此,在您的示例中,选择器无效,因为在|和之间既没有通用选择器也没有类型选择器: 如果指定命名空间,如果不选择特定类型,则必须指定通用选择器:
*|*:first-child
*|*::before
在ns命名空间中选择元素时也是如此:
ns|*:first-child
ns|*::before
|*:first-child
|*::before
或者在选择不在命名空间中的元素时:
ns|*:first-child
ns|*::before
|*:first-child
|*::before
那么WebKit搞错了?这就是我的想法,谢谢你的澄清:你能链接到来源吗-请不要混淆伪类和伪元素——它们是两个不同的东西。哦,是的,对不起,我确实理解它们之间的区别。注意,这个问题说的是伪类,我只是把标题弄错了!我刚看到你的错误报告: