CSS: reposition element on hover state but maintain clickable area position
Posted
by
abirduphigh
on Stack Overflow
See other posts from Stack Overflow
or by abirduphigh
Published on 2012-03-28T05:07:15Z
Indexed on
2012/03/28
5:29 UTC
Read the original article
Hit count: 116
css
I'm trying to create the effect of a button that 'lifts' from the page when rolled over.
Using CSS, I have a block style <a>
element that, when hovered, re-positions itself up and to the left 5px, and a shadow is left behind:
a {
display: inline-block;
position: relative; }
a:hover {
top: -5px; left: -5px;
box-shadow: rgba(0,0,0,.2) 5px 5px 2px; }
The problem: When the <a>
block jumps 5px away from the cursor during the hover, the cursor is no longer actually hovering over the block and the block then jumps back when the cursor is moved only slightly thereafter.
How can I maintain the original hover area so that the element doesn't keep jumping back and forth when the cursor is only slightly moved?
I'd like to avoid adding superfluous container elements to my code if at all possible.
© Stack Overflow or respective owner