Awesome hover effects on button

Posted on October 13th, 2019

Here are awesome hover effects on button from DarkCode with only html and css. To see how it works, just click on the button Run Pen below:

How to create awesome hover effects on button

Step 1: Add Html

<div class="container">
  <button class="btn btn1">Hover Me</button>
  <button class="btn btn2">Hover Me</button>
  <button class="btn btn3">Hover Me</button>
  <button class="btn btn4">Hover Me</button>
</div>

Step 2: Add CSS

/* Common styles */
body {
  margin: 0;
  padding: 0;
}
.container {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Button style */
.btn {
  border: 1px solid #3498db;
  background: none;
  padding: 10px 20px;
  font-size: 20px;
  font-family: 'montserrat';
  cursor: pointer;
  margin: 10px;
  transition: 0.8s;
  position: relative;
  overflow: hidden;
}
.btn1,
.btn2 {
  color: #3498db;
}
.btn3,
.btn4 {
  color: #fff;
}
.btn1:hover,
.btn2:hover {
  color: #fff;
}
.btn3:hover,
.btn4:hover {
  color: #3498db;
}
.btn::before {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 0%;
  background: #3498db;
  z-index: -1;
  transition: 0.8s;
}
.btn1::before,
.btn3::before {
  top: 0;
  border-radius: 0 0 50% 50%;
}
.btn2::before,
.btn4::before {
  bottom: 0;
  border-radius: 50% 50% 0 0;
}
.btn3::before,
.btn4::before {
  height: 180%;
}
.btn1:hover::before,
.btn2:hover::before {
  height: 180%;
}
.btn3:hover::before,
.btn4:hover::before {
  height: 0%;
}