Hi I'm having a hard time finding out how to disable the hover effect in my active link. Every time I hover it to the active link it also changes the color, so I want to disable it.
.navibar {
height: 26px;
width: 100%;
display: inline-block;
background: #F7FDFD;
font-family: Arial;
font-size: 1.1em;
font-weight: 200;
border-bottom: 1px solid #A2BFF3;
margin-top: 10px;
}
.navibar ul {
text-align: center;
padding-top: 3px;
overflow: hidden;
}
.navibar li {
float: right;
display: inline-block;
width: 90px;
text-transform: lowercase;
font-family: Arial;
font-size: 1.0em;
font-weight: 200;
}
.navibar li:hover {
background: #A2BFF3;
color: #FFFFFF;
border-radius: 2px;
}
.navibar li.active {
background: #ffffff;
color: #000000;
border: 1px solid #a2bff3;
border-top: 3px solid #04afba;
border-bottom: 1px solid transparent;
margin-top: -2px;
}
.navibar a {
display: block;
color: #b3b3b3;
}
.navibar a:hover {
display: block;
color: #000000;
}
<div class="navibar">
<ul>
<li class="active"><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">More</a></li>
</ul>
</div>
One method to do this is to add: pointer-events: none; to the element, you want to disable hover on. (Note: this also disables javascript events on that element too, click events will actually fall through to the element behind ).
The :hover pseudo class in CSS selects elements when the mouse cursor is current over them. It's commonly associated with link ( <a> ) elements. It will turn green and have a line beneath and above it. In IE 6 and below, :hover used to only work on links, but in newer browsers, it works on any element.
Simply use:
.navibar a:hover:not(.active) {
display: block;
color: #000000;
}
Instead of:
.navibar a:hover {
display: block;
color: #000000;
}
Try this:
.navibar li.active a:hover {
color: #b3b3b3; /*the default color*/
}
Or:
.navibar li.active a {
color: #000; /*the color you want*/
}
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