Home >Web Front-end >CSS Tutorial >How Can I Reverse the Effects of CSS :hover?
Reversing the Effects of :hover Using CSS
The :hover pseudo-class allows developers to apply specific styles to elements when the mouse pointer hovers over them. However, there is often a need to define a contrasting effect for instances when the mouse leaves an element.
Is there a CSS alternative to :hover that triggers on mouse leave?
To achieve an effect opposite to :hover, which activates on mouse enter, it is essential to remember the definition of hover: it selects elements when the mouse passes over them. Therefore, to reverse this behavior, any point at which the mouse is not over the element can be targeted instead.
Implementing the Inverse Effect
Consider a use case where a menu item's color transitions from #999 to black on hover. To create the inverse effect on mouse leave, we can move the transitions to the link itself, rather than the hover state:
ul li a { color:#999; transition: color 0.5s linear; /* vendorless fallback */ } ul li a:hover { color:black; cursor: pointer; }
This solution ensures that the color transition occurs from black to #999 when the mouse leaves the link area.
Additionally, CSS-tricks has provided an article demonstrating how to set different transitions for both hover on and hover off states:
#thing { padding: 10px; border-radius: 5px; /* HOVER OFF */ -webkit-transition: padding 2s; } #thing:hover { padding: 20px; border-radius: 15px; /* HOVER ON */ -webkit-transition: border-radius 2s; }
The above is the detailed content of How Can I Reverse the Effects of CSS :hover?. For more information, please follow other related articles on the PHP Chinese website!