【问题标题】:if child exists [duplicate]如果孩子存在[重复]
【发布时间】:2016-03-09 03:50:34
【问题描述】:

我正在尝试使一些 CSS 尽可能动态,但接下来我遇到了一些问题:

假设到目前为止我有以下 html 和 css:

nav.blended {
  color: red;
}
nav.blended + .optional-stuff {
  color: green;
}
<nav class="blended">
  <div class="substuff">
    should be green
  </div>
  <div class="optional-stuff">
    should be green
  </div>
</nav>

<nav class="blended">
  <div class="substuff">
    should be red
  </div>
</nav>

但现在它总是保持红色。

如果需要,请编写代码:http://codepen.io/cskiwi/pen/GoRqPL?editors=110

【问题讨论】:

  • 删除+ 即可。 + 用于选择兄弟元素而不是子元素。
  • @ManojKumar 这只会让第二个变成绿色而不是第一个

标签: html css


【解决方案1】:

.optional-stuff 不是nav.blended 的兄弟姐妹。

nav.blended {
  color: red;
}
nav.blended .substuff + .optional-stuff {
  color: green;
}
<nav class="blended">
  <div class="substuff">
    should be green
  </div>
  <div class="optional-stuff">
    should be green
  </div>
</nav>

<nav class="blended">
  <div class="substuff">
    should be red
  </div>
</nav>

【讨论】:

  • 这只会使第二个变成绿色而不是第一个
  • @Kiwi 你想改变substuff的颜色吗?
  • 没有另一个说should be green,对我来说你的例子只有1个绿色
  • @Kiwi 纯 css 是不可能的。您必须使用 javascript 或 jquery。
  • @Kiwi Check this.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 2017-08-24
  • 1970-01-01
  • 2017-05-17
  • 2018-04-23
  • 2020-05-08
  • 1970-01-01
相关资源
最近更新 更多