Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
Html not()和第一个子选择器之间的特异性_Html_Css_Css Selectors_Css Specificity - Fatal编程技术网

Html not()和第一个子选择器之间的特异性

Html not()和第一个子选择器之间的特异性,html,css,css-selectors,css-specificity,Html,Css,Css Selectors,Css Specificity,下面是关于not和p的示例:第一个子{}选择器。下面是示例: <!DOCTYPE html> <html> <head> <style> p:first-child{ color: red; } p:not(a){ color: green; } </style> </head> <body> <p>This a paragraph.</p> </body> <

下面是关于not和p的示例:第一个子{}选择器。下面是示例:

<!DOCTYPE html>
<html>
<head>
<style>
p:first-child{
color: red;
}
p:not(a){
    color: green;
}
</style>
</head>
<body>

<p>This a paragraph.</p>

</body>
</html>
为什么这一段结尾是红色的?如果可能的话,有人能解释为什么p:first child{}比not selector有更大的特异性吗

如果可能的话,有人能解释为什么p:first child{}比not选择器具有更大的特异性吗

因为:not对特异性本身没有任何影响——只有其内部的内容才对特异性起作用

元素选择器p和伪类first child给出了0-0-1-1的特异性,元素选择器p和a得到了0-0-0-2

如果可能的话,有人能解释为什么p:first child{}比not选择器具有更大的特异性吗

因为:not对特异性本身没有任何影响——只有其内部的内容才对特异性起作用


所以你有元素选择器p和伪类:first child,它给出了0-0-1-1的特异性——还有元素选择器p和a,它们产生了0-0-0-2。

我不确定这应该如何表现,但是说如果x不是x,一个标记选择器怎么会变成另一个标记是不合逻辑的?我把它改成了一个类,它似乎起了作用:@Aziz有趣的是,p:nota比p具有更高的特异性,尽管从逻辑上讲它可能被简化。我认为是这样的:not具有基于其子选择器的特异性。必须调用规范来确认p:nota只是一个稍微更具体的标记选择器。@Abluegyry:“有趣的是,p:nota比p具有更高的特异性”——这是因为第一个包含两个元素选择器,而最后一个只有一个–因此是0-0-0-2 vs 0-0-0-1。@CBroe是的,这是因为基于Aziz所说的p:nota的初始假设被简化为p,因为选择器:not被应用于的内容永远无法匹配notted内容。这表明它不是简单地被剪短。反驳一个假设的东西很有趣。@abluejelly:没错。选择器的特殊性不受其含义的影响。就专一性而言,匹配任意p的p:nota与HTML文档中不匹配任何p的p:notp或匹配任意p的body p并无区别,但在其他地方或伪elt对标记名同样专一之前,其行为可能会有所不同。类似地,[id=foo]具有属性选择器的特殊性,而不是id选择器,因为选择器不假设id属性映射到id类型的属性。我不确定这应该如何表现,但如果x不是x,那么标签选择器如何成为另一个标签是不合逻辑的?我把它改成了一个类,它似乎起了作用:@Aziz有趣的是,p:nota比p具有更高的特异性,尽管从逻辑上讲它可能被简化。我认为是这样的:not具有基于其子选择器的特异性。必须调用规范来确认p:nota只是一个稍微更具体的标记选择器。@Abluegyry:“有趣的是,p:nota比p具有更高的特异性”——这是因为第一个包含两个元素选择器,而最后一个只有一个–因此是0-0-0-2 vs 0-0-0-1。@CBroe是的,这是因为基于Aziz所说的p:nota的初始假设被简化为p,因为选择器:not被应用于的内容永远无法匹配notted内容。这表明它不是简单地被剪短。反驳一个假设的东西很有趣。@abluejelly:没错。选择器的特殊性不受其含义的影响。就专一性而言,匹配任意p的p:nota与HTML文档中不匹配任何p的p:notp或匹配任意p的body p并无区别,但在其他地方或伪elt对标记名同样专一之前,其行为可能会有所不同。类似地,[id=foo]具有属性选择器的特殊性,而不是id选择器的特殊性,因为选择器不假定id属性映射到id类型的属性。否定伪类中的选择器与其他任何类一样计数,但否定本身不作为伪类计数。真的吗?你会问为什么我在说明书中提供了你是正确的链接,以及说明书中说明你是正确的确切引用?一方面,你真的需要进行语境化阅读理解。另一方面,在这个网站上可能有人不会强调,当他们向你抛出一个规范时,他们说你的帖子有问题,而你已经存在了足够长的时间,不幸地遇到了他们。所以我也要和你一起去。这次谈话让我很开心。祝你愉快。否定伪类中的选择器与其他任何类一样计数,但否定本身不作为伪类计数。真的吗?你会问为什么我在说明书中提供了链接,它说你是正确的,
说明书中的确切引述说明你是正确的?一方面,你真的需要进行语境化阅读理解。另一方面,在这个网站上可能有人不会强调,当他们向你抛出一个规范时,他们说你的帖子有问题,而你已经存在了足够长的时间,不幸地遇到了他们。我也要和你一起去,这次谈话让我很开心。