删除最后一个边框底部?

时间:2011-02-20 14:06:39

标签: css html-lists border css-selectors

我用li来显示记录列表。

每个li都有一个底边:1px纯黑色;

但我不想在李的末尾显示边框?

示例:

.test li{
        height:1%;
        overflow:hidden;
        padding:4px 0;
        margin:-1px 0 0;
        border-bottom: 1px solid black;
    }

.test li.last { border-bottom: none;  }

<ul class="test">
  <li> Foo 1 </li>
  <li> Foo 2 </li>
  <li> Foo 3 </li>
</ul>

Foo 3仍显示底部边框。

5 个答案:

答案 0 :(得分:17)

.test li{
        height:1%;
        overflow:hidden;
        padding:4px 0;
        margin:-1px 0 0;
        border-bottom: 1px solid black;
    }

.test li:last-child { border-bottom: none;  }

答案 1 :(得分:14)

您也可以设置顶部边框,并使用兄弟选择器来处理此问题,而无需额外的类:

.test li{
        height:1%;
        overflow:hidden;
        padding:4px 0;
        margin:-1px 0 0;
    }

.test li + li { border-top: 1px solid black;  }

答案 2 :(得分:3)

将类添加到最后的li或者css3是否可接受

ul.test&gt; li:last-of-type {   底部边框:无 }

答案 3 :(得分:3)

你也可以使用jquery

$('ul li:last-child').css('border-bottom', 'none');

我更喜欢这种方式,因为这意味着你的css会减少跳跃和疯狂的奇怪异常。

答案 4 :(得分:0)

请为此添加类:

li:last-child { border-bottom: none; }