【问题标题】:How to write css selector for selecting element before a given element [duplicate]如何在给定元素之前编写用于选择元素的css选择器[重复]
【发布时间】:2020-04-03 04:42:04
【问题描述】:

我在一个包装器 div 中有两个元素。视图中的第二个兄弟有时会获得一个活动类(根据 UI 的逻辑)

   <div id="wrapper">
     <div>some content</div>
     <div class="active">some other content</div>
   </div>

在这些情况下(当第二个孩子有一个活跃的班级时) - 我如何从 css 选择器中定位第一个 div。

我已经尝试过活动 div 的一般兄弟

.active ~ div

但这不起作用,因为目标 div 应该在选定的 div 之后,而不应该在它之前。

如何定位 另一个活动 div 之前的 div。

【问题讨论】:

  • 你不能。但是,您可以选择不是 .active 的东西,也可以使用:first-child()

标签: css css-selectors selector siblings combinators


【解决方案1】:

您可以定位不活动的 div(在包装类内部)

.wrapper {
  > div:not([class='active']) {
    // apply styles 
  }
}

【讨论】:

  • 可能有一种情况 - 当第一个 div 处于活动状态而第二个不活动时 - 这意味着第二个 div。但我只想要第二个处于活动状态的场景 - 在那个场景中 - 第一个 div
  • 对不起,我不明白。上面的 CSS 将应用于不活动的 div,无论它是第一个还是第二个。是否有意义?如果您愿意,我可以提供小提琴或代码笔
  • 仅当第二个处于活动状态时 - 我想选择第一个。如果第一个处于活动状态 - 我不希望该选择器选择第二个
猜你喜欢
  • 2011-05-12
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 2022-11-13
  • 2019-05-24
相关资源
最近更新 更多