我有几个div。其中之一有class="active"
。我希望所有 div 都被隐藏(display:none;
),除了.active
. 选择器应该是什么?
问问题
1469 次
4 回答
5
你有没有尝试过?
div { display: none; }
div.active { display: block; }
PS。我会添加解释。当您在选择器中指定一个类时,它在级联逻辑中具有更高的优先级(因为它具有更高的特异性)而不是单个 div(因为单个 div 更通用、更宽)。所以没有必要使用!important
或类似的东西。
于 2013-01-29T13:26:43.033 回答
1
试试:not
伪类。
例如:
div:not(.active) {display:none;}
正如 Paul 在下面评论的那样,IE8 及以下版本不支持此选择器。但是考虑到您包含CSS3
标签并特别要求选择器,这可能不是问题。有关跨浏览器解决方案,请参阅@mkdotam 答案。
于 2013-01-29T13:26:31.017 回答
1
div:not(.active){
display: none;
}
于 2013-01-29T13:27:00.627 回答
-2
于 2013-01-29T13:28:24.903 回答