【问题标题】:Select the preceding sibling of an element in CSS using selectors [duplicate]使用选择器在CSS中选择元素的前一个兄弟[重复]
【发布时间】:2012-04-17 21:00:46
【问题描述】:

如何使用选择器在 CSS 中选择元素的上述元素

<li class="content">One</li>
<li class="content">Two</li>
<li class="content">Three</li>
<li class="no-content">First</li>
<li class="content">Four</li>
<li class="content">Five</li>
<li class="content">Six</li>

这里我想使用 no-content 类,这样我就可以使用 CSS 选择器获取其上面的元素 &lt;li class="content"&gt;Three&lt;/li&gt;

【问题讨论】:

  • 不幸的是,我认为这还不可能。同样的问题:stackoverflow.com/questions/1817792/… 编辑:如果 JS 是一个选项,那显然很容易:$('li.no-content').prev().addClass('prev')
  • &lt;li&gt;&lt;li class="no-content"&gt; 之前的术语不是“以上”,而是“前同级”。

标签: css css-selectors


【解决方案1】:

这对于纯 CSS 是不可能的...

【讨论】:

  • 2017 - 这是可能的,看看我做的这个小提琴。 jsfiddle.net/maxshuty/cj55y33p/3
  • @maxshuty 你的小提琴演示了一般的兄弟组合,只找到目标之后列出的兄弟!事实上,如果你取出所有的 .top css(包括你用过的 ~s),小提琴的效果是一样的!你的答案太复杂了!
  • 使用 ax 语法,选择器.no-content ? .content 将在上面的示例中选择&lt;li class="content"&gt;Three&lt;/li&gt;。见:github.com/RouninMedia/axe
【解决方案2】:

你看起来一样吗:- http://jsfiddle.net/rohitazad/4Y9D5/3/

您可以选择底部 div,但不能选择顶部。

【讨论】:

  • 请查看http://jsfiddle.net/4Y9D5/2/,这里我只是给上面的元素加一个类,实际上是不可能的,但需要...
  • 您好,您选择底部 div 就像这样jsfiddle.net/rohitazad/4Y9D5/3
  • 不,请检查我已经给出的link。我需要这样,但不将类添加到前面的兄弟,我想使用选择器选择前面的兄弟 no-content...
  • 现在检查一下,您可以像这样定义 .test backgroundcolor jsfiddle.net/rohitazad/4Y9D5/8
  • 我不能在那里写test类,它只是让你明白我需要什么。是否可以选择与no-content类一起选择的测试类节点...
猜你喜欢
  • 2012-08-02
  • 2016-07-28
  • 2016-04-02
  • 2014-02-09
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多