Reputation: 1683
In the below code, I have 2 sections with a common border initially and while hovering each section, I want each section to be highlighted with a border. I want the lines to overlap. Please help.
.slides li {
list-style-type: none;
width: 48%;
float: left;
padding: 1%;
}
.slides li:hover {
border-top: solid 4px red;
}
.slides {
border-top: solid 3px #979797;
}
<ul class="slides">
<li>
<div class="slider-caption">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.ut sapien cursus, non posuere sapien sagit.</p>
</div>
</li>
<li>
<div class="slider-caption">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elitm vehicula commodo. Nam consectetur augue ut sapien cursus, non posuere sapien sagit.</p>
</div>
</li>
</ul>
Upvotes: 0
Views: 43
Reputation: 1502
You can keep negative margin
along with a transparent border-top
on each li
element.
There is a transition effect also applied in solution.
.slides li {
list-style-type: none;
width: 48%;
float: left;
padding: 1%;
transition: .7s all;
border-top: solid 3px transparent;
margin-top: -3px;
}
.slides li:hover {
border-top: solid 3px red;
}
.slides {
border-top: solid 3px #979797;
}
<ul class="slides">
<li>
<div class="slider-caption">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.ut sapien cursus, non posuere sapien sagit.</p>
</div>
</li>
<li>
<div class="slider-caption">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elitm vehicula commodo. Nam consectetur augue ut sapien cursus, non posuere sapien sagit.</p>
</div>
</li>
</ul>
Upvotes: 0
Reputation: 2762
Apply the gery border on li itself.
.slides li {
list-style-type: none;
width: 48%;
float: left;
padding: 1%;
border-top: solid 3px #979797;
}
.slides li:hover {
border-top: solid 4px red;
}
<ul class="slides">
<li>
<div class="slider-caption">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.ut sapien cursus, non posuere sapien sagit.</p>
</div>
</li>
<li>
<div class="slider-caption">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elitm vehicula commodo. Nam consectetur augue ut sapien cursus, non posuere sapien sagit.</p>
</div>
</li>
</ul>
Upvotes: 1
Reputation: 13988
Apply the same pixel border for hover and add negative margin top when the hover happened like margin-top:-3px:
. So this will fix the overlay.
.slides li {
list-style-type: none;
width: 48%;
float: left;
padding: 1%;
}
.slides li:hover {
border-top: solid 3px red;
margin-top:-3px;
}
.slides {
border-top: solid 3px #979797;
}
<ul class="slides">
<li>
<div class="slider-caption">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.ut sapien cursus, non posuere sapien sagit.</p>
</div>
</li>
<li>
<div class="slider-caption">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elitm vehicula commodo. Nam consectetur augue ut sapien cursus, non posuere sapien sagit.</p>
</div>
</li>
</ul>
Upvotes: 1