删除最后一个边框底部?

use*_*378 5 css border css-selectors html-lists

我使用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>
Run Code Online (Sandbox Code Playgroud)

Foo 3仍显示底部边框.

Rob*_*ben 18

.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;  }
Run Code Online (Sandbox Code Playgroud)


jsw*_*f19 14

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

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

.test li + li { border-top: 1px solid black;  }
Run Code Online (Sandbox Code Playgroud)

  • @user,http://www.w3.org/TR/CSS2/selector.html E + F:匹配任何紧前面有兄弟元素E的F元素.在这种情况下,它匹配紧跟在li之后的任何li. (3认同)