CSS:定位到没有任何类列表的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS:定位到没有任何类列表的元素相关的知识,希望对你有一定的参考价值。

我想为某些元素创建规则,该规则仅在元素具有none类列表的情况下才影响该元素

我的尝试:

div:not(.a, .c) 
  color: red;
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>

如果运行此代码段,则显然无法正常工作。似乎选择器无效,并且不会影响任何div

接下来,我尝试链接:not(),这似乎很笨拙,但有效:

div:not(.a):not(.c) 
  color: red;
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>

这是解决给定问题的唯一方法吗?

答案

我想通过您的问题,您总是知道您不想更改其样式的类。因此,假设这是我的看法。

.all 
  /** give default styles to all elements */
  color: red;


.a,
.c 
  /** then reset the ones you where targeting with :not():not()... */
  color: black;
<div class="all a">a</div>
<div class="all b">b</div>
<div class="all c">c</div>
另一答案

在CSS中束缚:not()选择器是当前(2020年1月)指示逻辑AND运算符的唯一方法。

所以,是:

div:not(.a):not(.c)

是正确的书写方式:

div:not(.a) AND div:not(.c)

div:not(.a):not(.c) 
  color: red;
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>

以上是关于CSS:定位到没有任何类列表的元素的主要内容,如果未能解决你的问题,请参考以下文章

CSS:将元素定位在悬停或焦点上,但不能同时定位

网页布局05 网页元素定位

CSS元素定位

Css中Position定位详解

详解CSS的相对定位和绝对定位

隐藏所有具有数值范围的 CSS 类