开发者

Remove last border-bottom?

I use li to show a list of records.

Each li has a bottom-border:1px solid black;

but I don't want to show border at the end of li?

example:

.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开发者_JAVA百科 1 </li>
  <li> Foo 2 </li>
  <li> Foo 3 </li>
</ul>

Foo 3 still showing bottom border.


.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;  }


You can also set the top border instead and use the sibling selector to handle this without the need for an extra class:

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

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


Add a class to the li of last or if css3 is acceptable

ul.test>li:last-of-type { border-bottom:none }


you can use jquery too

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

I prefer this way as it means less jumping around and crazy weird exceptions in your css.


Please add class to this :

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


Using: :last-of-type with :not()

The:last-of-type selector allows you to target the last occurrence of an element within its container. It is defined in the CSS Selectors Level 3 spec as a “structural pseudo-class”, meaning it is used to style content based on its relationship with parent and sibling content.

.test li{
  height:1%;
  overflow:hidden;
  padding:4px 0;
  margin:-1px 0 0;  
}
.test li:not(:last-of-type) {
  border-bottom: 1px solid black;
}
<ul class="test">
  <li> Foo 1 </li>
  <li> Foo 2 </li>
  <li> Foo 3 </li>
</ul>

Article link: enter link description here

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜