选择具有特定类的最后一个元素

时间:2016-02-09 21:51:36

标签: html css css3

我需要将样式应用于所有子div中的文本,但具有span.fa

的除外



.parentDiv > .column :not(.fa) {
  font-weight: bold
}

<div class="parentDiv">

  <div class="column">aaa</div>
  <div class="column">bbb</div>
  <div class="column">
    <span class="fa">ccc</span>
  </div>

</div>
&#13;
&#13;
&#13;

我确实需要将CSS保留在一行中,因为它是较大样式表的一部分。我该怎么做?

3 个答案:

答案 0 :(得分:1)

执行此操作的唯一方法是使用

.parentDiv > .column { font-weight: bold }
.parentDiv > .column > .fa { font-weight: normal }

答案 1 :(得分:1)

您可以将:not:last-of-type

一起使用

&#13;
&#13;
.parentDiv > .column:not(:last-of-type) {
  font-weight: bold;
  color:red;
}
&#13;
<div class="parentDiv">

  <div class="column">aaa</div>
  <div class="column">bbb</div>
  <div class="column">
    <span class="fa">ccc</span>
  </div>

</div>
&#13;
&#13;
&#13;

编辑基于@Oriol的评论

  

:not(:last-of-type)并不意味着&#34;不包含.fa

如果您的代码可能是动态的,那么这是有意义的。

这是另一种方法:

&#13;
&#13;
.parentDiv > .column span:not(.fa) {
  font-weight: bold;
  color: red;
}
&#13;
<div class="parentDiv">
  <div class="column">
    <span class="gsdfasd">text</span>
  </div>
  <div class="column">
    <span class="faadsasfa">some text</span>
  </div>
  <div class="column">
    <span class="fa">this will NOT BE red</span>
  </div>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

not()选择器的工作方式是您必须定位特定的元素/类/ ID。您必须将span中每列的文字换行,然后将:not(.fa) CSS添加到span

&#13;
&#13;
.parentDiv > .column span:not(.fa) {
  font-weight: bold
}
&#13;
<div class="parentDiv">

  <div class="column">
    <span>aaa</span>
  </div>
  <div class="column">
    <span>bbb</span>
  </div>
  <div class="column">
    <span class="fa">ccc</span>
  </div>

</div>
&#13;
&#13;
&#13;