CSS NOT选择器用于排除类及其子类

时间:2017-12-10 22:24:56

标签: css responsive-design css-selectors

我使用此代码确保没有溢出响应的div:

.responsive * {width:100%}

但是我有一些子元素,我想从上面的规则中排除他们和他们的孩子。所以我将规则更新为:

.responsive  * :not(.fixedSize,.fixedSize *){max-width:100%;}

以上代码似乎排除了所有内容。



div {width:200px;border:1px solid #ff0000;line-height:40px;}
input {width:300px;}
.responsive  * :not(.fixedSize,.fixedSize *){max-width:100%;}

<div class="responsive">
   <input>
   <div class="fixedSize">
      <input>
   <div>
</div>
&#13;
&#13;
&#13;

修改

我也试过这个但还没有工作:

 .responsive  * :not(.fixedSize):not(.fixedSize *){max-width:100%;}

1 个答案:

答案 0 :(得分:0)

你想要实现这个目标吗?正如其他人在评论中提到的那样,:not是一个单一的选择器,因此你只能在其中创建一个单独的id或类。

&#13;
&#13;
.responsive {
  width: 200px;
  border: 1px solid #ff0000;
  line-height: 40px;
}

input {
  width: 300px;
}

.responsive *:not(.fixedSize) {
  max-width:100%;
}
&#13;
<div class="responsive">
  <input>
  <input>
  <input class ="fixedSize">
</div>
&#13;
&#13;
&#13;