有人知道如何将CSS选择器:not()
用作#some_id:not(.any_class_name)
吗?
代码看起来好像是正确的,但它不起作用。没有not
选择器还有另一种方法吗?我在互联网上找不到任何东西。
我正在创建一个包含多个页面的Web应用程序,但是有几个页面具有id=some_id
的div。我认为我必须通过添加any_class_name
一次使用上面的CSS代码来解决问题来添加特定的CSS,但它不起作用。
答案 0 :(得分:24)
我相信你正在逆转选择器。您有一些具有相同class
的元素,但您希望过滤掉具有特定ID
的元素。在那种情况下:
HTML:
<p class="someclass">hello</p> <!-- will be targeted by css below, thus green -->
<p class="someclass" id="some-id">hi</p> <!-- will not be targeted by css below -->
CSS:
.someclass:not(#some-id){ color: green; }
/* selects all elements with classname 'someclass',
but excludes the one that has also has an id of 'some-id' */
正如@secretSquirrel指出的那样,请注意browser compatibility:Internet Explorer 8及更早版本不支持此选择器。
答案 1 :(得分:2)
这将设置除<a></a>
之外的所有背景:
:not(a)
{
background: gray;
}
答案 2 :(得分:1)
我希望这会对你有所帮助。
另一种方式是: 你可以覆盖css。可能你想要这样的东西。
<div id="demo">
<p class="class">This is a paragraph.</p>
<p>This is another paragraph.</p>
</div>
你的css
#demo
{
color:#0000ff;
}
.class
{
color:#ff0000;
}