在CSS中,伪元素'不是'在锚标签不起作用

时间:2015-12-16 03:02:07

标签: css

在CSS中,我努力应用没有悬停和活动的锚标记的伪元素,但它不起作用。

a:not(a[name="nobgcolor"]):hover{color:#ffff35;background-color:#ff3355;}
a:not(a[name="nobgcolor"]):active{color:#ffff35;background-color:red;}

我在悬停和活动超链接中应用了背景颜色。但我希望不会出现背景颜色,其中属性存在为name =" nobgcolor"。在早些时候我想在具有top的href上应用相同的内容。 (转到顶部)但没有工作,所以我把名字=" nobgcolor"在同一个地方尝试一样!!!

a:hover:not(a[href*="#top"]){color:#ffff35;background-color:#ff3355;}
a:active:not(a[href*="#top"]){color:#ffff35;background-color:red;}

但代码不起作用,它们适用于整个页面并删除背景颜色。请指导我为这种情况做些什么???

1 个答案:

答案 0 :(得分:1)

您需要从内部删除标记,因为它定位于相同的元素

a:hover:not([href*="#top"]) {
  color: #ffff35;
  background-color: #ff3355;
}
a:active:not([href*="#top"]) {
  color: #ffff35;
  background-color: red;
}
<a href="" name="nobgcolor">test</a>
<br>
<a href="" name="">test1</a>
<br>
<a href="#top" name="nobgcolor">test</a>
<br>
<a href="" name="">test1</a>

a:hover:not([name="nobgcolor"]) {
  color: #ffff35;
  background-color: #ff3355;
}

a:active:not([name="nobgcolor"]) {
  color: #ffff35;
  background-color: red;
}
<a href="" name="nobgcolor">test</a>
<br>
<a href="" name="">test1</a>
<br>
<a href="" name="nobgcolor">test</a>
<br>
<a href="" name="">test1</a>