2010-02-05 98 views
2

我有一个CSS,看起来像这样:CSS:与不工作()

a:focus { background-color: #eeeeee; } 

现在在CSS3还有的没有()属性。 我怎么能这项工作时,我想的焦点背景颜色添加到所有元素 但有一个例外:我想,这是不添加到标签/内.audio_wrapper

+2

:not()不是一个属性,它是一个伪类。 – 2011-03-27 08:20:54

回答

1

的:不是伪类不会帮助你在这种情况下,因为它只接受simple selectors,和你的病情依赖于a的父的属性。最好的解决方案就是定义规则,然后用条件案例的第二条规则覆盖规则。

编辑:关于第二个想法,你也许可以做到这一点是这样的:

:not(.audio_wrapper) a:focus { ...rules... }

2

元素与有尝试规则:

a:focus { background-color: #eeeeee; } 
.audio_wrapper a:focus {background-color: #000000}; <!-- or white or what is your default color--> 
0

的不是选择只受现代浏览器(Firefox,Safari和Opera),而不是IE浏览器的支持。

a:not(.audio_wrapper){background-color:#eeeeee; ............}

+0

这不起作用,因为它排除了没有“audio_wrapper”类的'a'元素。在poru的情况下,他想排除具有“audio_wrapper”类的父元素内的'a'元素。 – 2010-02-05 22:17:30