如何选择具有特定类的最后一个元素,而不是父级中的最后一个子元素?

2022-02-23 00:00:00 css-selectors html css
<div class="commentList">
   <article class="comment " id="com21"></article>
   <article class="comment " id="com20"></article>
   <article class="comment " id="com19"></article>
   <div class="something"> hello </div>
</div>

我要选择#com19

.comment {
    width:470px;
    border-bottom:1px dotted #f0f0f0;
    margin-bottom:10px;
}

.comment:last-child {
    border-bottom:none;
    margin-bottom:0;
}

只要我有另一个div.something作为commentList中实际的最后一个子级,这就不起作用。在这种情况下,是否可以使用最后一个子项选择器来选择article.comment的最后一个外观?

jsFiddle


解决方案

:last-child仅当有问题的元素是容器的最后一个子级时才有效,而不是特定类型的元素的最后一个子级。为此,您需要:last-of-type

http://jsfiddle.net/C23g6/3/

根据@BoltClock的注释,这只检查最后一个article元素,而不是类为.comment的最后一个元素。

body {
  background: black;
}

.comment {
  width: 470px;
  border-bottom: 1px dotted #f0f0f0;
  margin-bottom: 10px;
}

.comment:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}
<div class="commentList">
  <article class="comment " id="com21"></article>

  <article class="comment " id="com20"></article>

  <article class="comment " id="com19"></article>

  <div class="something"> hello </div>
</div>

相关文章