如何不应用布尔运算符,以及[重复]

Posted

技术标签:

【中文标题】如何不应用布尔运算符,以及[重复]【英文标题】:How to apply boolean operators not, and [duplicate] 【发布时间】:2017-02-24 07:20:05 【问题描述】:

codepen

div:not(.wayne) div:not(.garth) .content 
  background-color:red;

 

<div class="wayne">
  <div class="content">Party On Garth</div>
</div>

<div class="garth">
  <div class="content">Party On Wayne</div>
</div>

<div class="Saitama">
  <div class="content">One punch.</div>
</div>

<div class="Naruto">
  <div class="content">Dattebayo</div>
</div>

除非班级是.garth.wayne,否则背景应该是红色的。如何为所有 .content 执行此操作?

埼玉和鸣人应该有红色背景。现在没有任何东西有红色背景。任何类似添加的新字符也应具有红色背景。

伪代码 if(!(wayne || garth)) apply red background to .content

如有必要,我愿意使用 javascript。我更喜欢css。

【问题讨论】:

谷歌搜索:site:***.com css multiple not selector 谷歌搜索:div not multiple classes 【参考方案1】:

:not 链接在一起

div:not(.wayne):not(.garth) .content 
  background-color:red;
<div class="wayne">
  <div class="content">Party On Garth</div>
</div>

<div class="garth">
  <div class="content">Party On Wayne</div>
</div>

<div class="Saitama">
  <div class="content">One punch.</div>
</div>

<div class="Naruto">
  <div class="content">Dattebayo</div>
</div>

【讨论】:

【参考方案2】:

您正在使用后代组合器:。您的选择器意味着:

“选择每个具有content 类的元素,它是任何div 元素的后代,而没有garth 类,它是任何div 元素的后代,但没有wayne 类。”

删除它。

div:not(.wayne):not(.garth) > .content 
  background-color:red;

“选择每个具有 content 类的元素,它是 div 元素的子元素,没有 garthwayne 类。”

【讨论】:

【参考方案3】:

如果您想拥有多个 :not 选择器,则需要将 CSS 更改为如下所示

CSS

div:not(.wayne):not(.garth) .content 
  background-color:red;

CodePen

【讨论】:

以上是关于如何不应用布尔运算符,以及[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何对 NumPy 数组执行逐元素布尔运算 [重复]

如何对 NumPy 数组执行逐元素布尔运算 [重复]

ruby 布尔运算符或 ||差异[重复]

布尔运算符的Python优先规则[重复]

为啥在java中不允许没有括号的赋值和布尔运算符

布尔值的 Django 模板标签