2010-10-22 97 views
1

在CSS中是否有一种快速方法来移除应用于元素的所有样式?例如,假设某种形式的标签菜单:CSS元素回到默认样式

<div class='outer'> 
    <div id='d1'></div> 
    <div id='d2'></div> 
    <div id='d3'></div> 
    <div id='d4'></div> 
</div> 

的CSS应用...

.outer { foo:blee; bar:blah; bas-bloo:snork; /*...long long list...*/ }

现在,我想#d3(例如)返回到默认样式,但我不想明确取消设置所有的父样式:

#d3 { remove-styles:all } /* <- [I made this up, obviously] */

白日梦或possibi lity?

回答

3

在CSS3中,是的。您可以使用negation pseudo-class

.outer:not(#d3) { foo:blee; etc etc } 

太糟糕了CSS3的支持是有点欠缺,在大多数浏览器的那一刻...

使用CSS级别小于3,你就完蛋了。抱歉。

+0

为什么不只是手动覆盖它呢?这个班似乎有点无用。不过谢谢。 – Ben 2010-10-22 01:59:33

+0

在这种情况下,是的。我以为你在谈论从级联样式中排除子元素的一般情况...... – Isaac 2010-10-22 02:01:58

1

不可行。只需重写它。

+0

对不起Meder,低级代表获得选票:s得帮助小家伙 - 他如此接近500也:) – Ben 2010-10-22 03:24:40

+0

它已经这么久了,因为我觉得这么值得... – Isaac 2010-10-22 03:38:07