How to stop a link/button from moving on hover

nazanin_ashrafi

Nazanin Ashrafi

Posted on November 6, 2020


How to stop a link/button from moving on hover

Has it ever happen to you that you wanted to make hover effects and then everything is completely ruined ?
Like when you want to add background color and make the link/button bigger but then when you hover on it , it moves!

Let me show you an example of the messy hover effect :
Just hover on the twitter link and see what happens!




So what happened here??
I gave the hover effect 20px padding and when you hover on the link it expands/moves.

 a {
  color: #2196F3;
 }
Enter fullscreen mode Exit fullscreen mode
a:hover {
  background-color: #2196F3;
  color: white;
  border-radius: 15px;
  padding: 20px;
}
Enter fullscreen mode Exit fullscreen mode

Too annoying, right?


Now how should we fix this?
Actually it's easier than you think!
The trick is you need to create the effect BEFORE creating the hover effect. In other words it needs to exist before the hover effect has been created.


Let me show you :

In order to fix this mess all I had to do was create padding for the link and set the background color to transparent :

 a {
  color: #2196F3;
  padding: 20px;
  background-color: transparent;
 }
Enter fullscreen mode Exit fullscreen mode



I put the messy one and the fixed one in the same link to make things clearer.
You can play around with it on codepen to understand it better.

💖 💪 🙅 🚩
nazanin_ashrafi
Nazanin Ashrafi

Posted on November 6, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related