首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS脑筋急转弯:如何在列表中更改最后一个类的结果

CSS脑筋急转弯:如何在列表中更改最后一个类的结果
EN

Stack Overflow用户
提问于 2013-07-21 18:40:12
回答 3查看 212关注 0票数 2

我在div中显示搜索结果:

代码语言:javascript
复制
<div id="results">
  <div class="list-item">[Text]</div>
  <div class="list-item">[Text]</div>
  <div class="list-item">[Text]</div>
  <div class="list-item">[Text]</div>
  <div class="list-item">[Text]</div>
  <div class="list-item">[Text]</div>
</div>

列表项的数量是可变的。我希望在除最后一个结果之外的所有列表项类上都有border-bottom: 1px solid #000;。在CSS中有没有办法做到这一点,或者我需要使用JS吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-21 18:42:43

使用:not:last-child

代码语言:javascript
复制
.list-item:not(:last-child) {
  border-bottom:1px solid #000;
}

它的工作和它的优雅:http://jsfiddle.net/3Znbu/

票数 9
EN

Stack Overflow用户

发布于 2013-07-21 18:42:12

使用:last-child选择器。

代码语言:javascript
复制
.list-item {
  border-bottom:1px solid #000;
}

.list-item:last-child {
  border-bottom: 0;
}

正如Mooseman指出的那样,它不能在IE8或更低版本上工作,所以如果你需要IE8支持,我建议使用jQuery解决方案,或者使用:first-child选择器,它支持IE7+。

jQuery

代码语言:javascript
复制
$('.list-item:not(:last-child)').css('border-bottom','1px solid #000');

:第一子

代码语言:javascript
复制
.list-item {
  border-top:1px solid #000;
}

.list-item:first-child {
  border-top: 0;
}
票数 6
EN

Stack Overflow用户

发布于 2013-07-21 18:42:32

代码语言:javascript
复制
#results .list-item:last-child {
   border-bottom: none;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17771449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档