Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS伪类可以命名吗?_Css_Namespaces_Css Selectors_Pseudo Class - Fatal编程技术网

CSS伪类可以命名吗?

CSS伪类可以命名吗?,css,namespaces,css-selectors,pseudo-class,Css,Namespaces,Css Selectors,Pseudo Class,例如,在CSS中使用名称空间时,可以使用名称空间类型选择器选择任意或无名称空间中的任何div元素: *|div 为伪类命名名称空间是否有效?例如: *|:first-child 它似乎适用于基于WebKit的浏览器,在IE9中似乎不起作用,因为IE9根本不支持名称空间和Firefox。我不在乎它在什么浏览器中工作/不工作,我只需要知道它是否是一个有效的构造 从我在报纸上看到的情况来看,这是无效的。但是我可能误读了语法。名称空间作为文档语言的一部分,并不直接应用于伪类或伪元素,因为它们是在C

例如,在CSS中使用名称空间时,可以使用名称空间类型选择器选择任意或无名称空间中的任何div元素:

*|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搞错了?这就是我的想法,谢谢你的澄清:你能链接到来源吗-请不要混淆伪类和伪元素——它们是两个不同的东西。哦,是的,对不起,我确实理解它们之间的区别。注意,这个问题说的是伪类,我只是把标题弄错了!我刚看到你的错误报告: