为什么是css样式<;P>;在一个<;A>;当被告知不要
这让我对为什么是css样式<;P>;在一个<;A>;当被告知不要,css,Css,这让我对:not()选择器非常困惑,因为其行为是相同的跨浏览器: CSS: main*:非(a)p{ 颜色:红色; } a{ 颜色:蓝色; } HTML: 非猫科动物 elit quis,rutrum tortor SSCCE: 跨浏览器,这会将设置为蓝色,而将设置为红色用作我希望此功能发挥作用的示例。main*:not(a)p并不意味着“,是的后代,中间没有”。它的意思是“,不是的事物的后代,它是的后代” 因此,例如,它将不匹配..,因为和之间唯一的东西是,它也不会匹配..,因为和之间没
:not()
选择器非常困惑,因为其行为是相同的跨浏览器:
CSS:
main*:非(a)p{
颜色:红色;
}
a{
颜色:蓝色;
}
HTML:
非猫科动物
elit quis,rutrum tortor
SSCCE:
跨浏览器,这会将
设置为蓝色,而将
设置为红色
用作我希望此功能发挥作用的示例。main*:not(a)p
并不意味着“,是
的后代,中间没有
”。它的意思是“
,不是
的事物的后代,它是
的后代”
因此,例如,它将不匹配..,因为和之间唯一的东西是,它也不会匹配..,因为
和之间没有任何东西。但是它将匹配..
,因为后代组合符允许*:not(a)
跳过
并绑定到
编辑:忘记我之前建议的讨厌的事情,我想这正是你想要的:
p{color:red}
a、 p{color:blue}
当
位于
内部时,蓝色获胜,因为
是设置颜色的最近祖先。当一个
在一个
中时,蓝色赢了,因为a p
比p
更具体,你在想什么<代码>图
和figcaption
本质上是:不是(a)
,因此它符合第一条规则。你希望
中的是什么颜色?@wdosanjos我希望
继承的是
中的颜色,因为我不希望主*:不是(a)p
在
中匹配
感谢您的快速,并阻止我编写同一答案的英文版本:D+1,因为它快速、准确,并为愚蠢的要求道歉selector@Supuhstar我想到了一个更好的方法来做你想做的事(假设我理解你想要什么)。