CSS /显示不是类的类

时间:2015-11-06 09:23:09

标签: css

是否可以隐藏与类不同的类的所有元素。我尝试了下面的代码,但它没有用。



li.show *>:not(.show) {
	display: none !important;
}




3 个答案:

答案 0 :(得分:1)

你想这样吗??

ul.hello>li:not(.hello){
    display : block;
    border:1px solid grey;
}
ul.hello>li.hello{
    display : block;
    border:1px solid red;
}
<ul class="hello"> 
    <li>with multiple classes.</li>
    <li class="hello"> and</li>
    <li class="aetw"> and</li>
    <li class="hello"> I want to hide every </li> 
    <li class="sdf"> and</li>
    <li class="hello"> I want to hide every </li> 
</ul>

这里是jsfiddle 的 Demo

答案 1 :(得分:1)

你的小提琴中的问题是你在任何地方写</div>而不是.show1 :not(.show1), .show2 :not(.show2) { display: none },这导致所有内容最终都在li的第一个div中。

解决方案:纠正所有错误,然后按预期工作。

<ul>
  <li class="show1">
    <div class="show1">show1</div>
    <div class="hide">hide</div>
    <div class="hide">hide</div>
    <div class="hide">hide</div>
  </li>

  <li class="show2">
    <div class="hide">hide</div>
    <div class="show2">show2</div>
    <div class="hide">hide</div>
    <div class="hide">hide</div>
  </li>
</ul>
{{1}}

答案 2 :(得分:0)

尝试使用:

li.show *:not(.show) {
    color:red;
    /*display: none;*/
}

jsfiddle example