I have the following HTML:
<ul>
<li>FIRST</li>
<li>SECOND</li>
<li>THIRD</li>
<li>FOURTH</li>
<ul>
And the following CSS:
li
{
border-top:1px solid #FFF;
border-bottom: 1px solid #D0D0D0;
}
How can I remove the top border for the first LI element, and the bottom border for the last LI element?
We can specify the no border property using CSS border: none, border-width : 0, border : 0 properties. Approach 1: We will give border-color, border-style properties to both headings, for showing text with border and no-border. For no border heading, we will use the border-width : 0 which will result in no border.
You can use the border-left , border-right , border-top and border-bottom properties to give different border styles to each side of your container. In your case, you want to apply your style to border-top and border-bottom .
li:first-child {
border-top: none;
}
li:last-child {
border-bottom: none;
}
Just like that.
Use the CSS :not
selector to apply styles only where required—rather than adding then removing them.
For example,
body {
background: #acc;
}
li:not(:first-child) {
border-top: 1px solid #fff;
}
li:not(:last-child) {
border-bottom: 1px solid #000;
}
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With