我有像这样的css声明
#first, #second, #third {
font-size:1em;
background: url('path/to/image') no-repeat;
}
接下来我想删除#third;
的背景我试过了
#third {
background:none;
}
但它不起作用。
答案 0 :(得分:2)
为什么不这样做?
#first, #second {
font-size:1em;
background: url('path/to/image') no-repeat;
}
#third {
font-size:1em;
}
答案 1 :(得分:2)
您的第一个选择器比第二个选择器更具体,因此它具有优先权。
要解决此问题,您可以通过将第二个选择器更改为#second #third
来使第二个选择器具有同等特异性
如果不选择相同的元素,那么你的设计是有缺陷的;元素ID应该是唯一的。
或者,您可以将!important
添加到第二个background
规则,以强制它覆盖第一个。
答案 2 :(得分:1)
那么为什么不从第一个样式声明中删除第三个并单独创建
#third {
font-size: 1em;
}
答案 3 :(得分:1)
它不起作用,因为#second #third
比#third
更具体。您的意思是将#second
和#third
组合在一起,还是忘记了逗号?
听起来这不是你想要的,所以这应该解决它:
#first, #second, #third {
font-size:1em;
background: url('path/to/image') no-repeat;
}
请注意逗号 - 这就是所需要的。此编辑也应正确设置#second
元素的样式。
另外,你是否在另一组代码之后为#third放置了单独的声明?订单很重要,需要在宣布#first
,#second
和#third
后提出。