In this article , we will look at how we can easily create a beautiful ❤️ gradient buttons with cool hover effect with HTML and CSS. For this tutorial ,
you must have basic knowledge of HTML and CSS properties.
✨ Writing HTML
Our HTML code will be only few lines for the markup.The code is
<div class="container">
<button class="btn-gradient btn-gradient--color__1">BUTTON</button>
<button class="btn-gradient btn-gradient--color__2">BUTTON</button>
<button class="btn-gradient btn-gradient--color__3">BUTTON</button>
<button class="btn-gradient btn-gradient--color__4">BUTTON</button>
<button class="btn-gradient btn-gradient--color__5">BUTTON</button>
<button class="btn-gradient btn-gradient--color__6">BUTTON</button>
<button class="btn-gradient btn-gradient--color__7">BUTTON</button>
<button class="btn-gradient btn-gradient--color__8">BUTTON</button>
<button class="btn-gradient btn-gradient--color__9">BUTTON</button>
<button class="btn-gradient btn-gradient--color__10">BUTTON</button>
<button class="btn-gradient btn-gradient--color__11">BUTTON</button>
</div>
Here div
with class
of container will be just simple container to laying all buttons in it. And then all the button
elements have class
of btn-gradient which will have all the styles common to all the buttons. While the class
of say btn-gradient--color-1 all these classes are modifier classes which will provide particular specific styling to buttons like their background which is different for each button here.
🤩 Lets Style Our Buttons With CSS
Here , first we will apply some basic styling to all buttons with btn-gradient class
and also to the container class
.
.container {
margin: 10%;
text-align: center;
}
.btn-gradient {
width: 200px;
font-size: 16px;
font-weight: 600;
color: #fff;
cursor: pointer;
margin: 20px;
height: 55px;
text-align: center;
border: none;
background-size: 300% 100%;
border-radius: 50px;
transition: all .4s ease-in-out;
outline: none;
}
Now lets add modifier classes to give specific background and box shadow to each button
.
You can style them with whatever gradients you want. I will style them as below.
.btn-gradient--color__1 {
background-image: linear-gradient(to right, #25aae1, #40e495, #30dd8a, #2bb673);
box-shadow: 0 4px 15px 0 rgba(49, 196, 190, 0.75);
}
.btn-gradient--color__2 {
background-image: linear-gradient(to right, #f5ce62, #e43603, #fa7199, #e85a19);
box-shadow: 0 4px 15px 0 rgba(229, 66, 10, 0.75);
}
.btn-gradient--color__3 {
background-image: linear-gradient(to right, #667eea, #764ba2, #6b8dd6, #8e37d7);
box-shadow: 0 4px 15px 0 rgba(116, 79, 168, 0.75);
}
.btn-gradient--color__4 {
background-image: linear-gradient(to right, #fc6076, #ff9a44, #ef9d43, #e75516);
box-shadow: 0 4px 15px 0 rgba(252, 104, 110, 0.75);
}
.btn-gradient--color__5 {
background-image: linear-gradient(to right, #0ba360, #3cba92, #30dd8a, #2bb673);
box-shadow: 0 4px 15px 0 rgba(23, 168, 108, 0.75);
}
.btn-gradient--color__6 {
background-image: linear-gradient(to right, #009245, #fcee21, #00a8c5, #d9e021);
box-shadow: 0 4px 15px 0 rgba(83, 176, 57, 0.75);
}
.btn-gradient--color__7 {
background-image: linear-gradient(to right, #6253e1, #852d91, #a3a1ff, #f24645);
box-shadow: 0 4px 15px 0 rgba(126, 52, 161, 0.75);
}
.btn-gradient--color__8 {
background-image: linear-gradient(to right, #29323c, #485563, #2b5876, #4e4376);
box-shadow: 0 4px 15px 0 rgba(45, 54, 65, 0.75);
}
.btn-gradient--color__9 {
background-image: linear-gradient(to right, #25aae1, #4481eb, #04befe, #3f86ed);
box-shadow: 0 4px 15px 0 rgba(65, 132, 234, 0.75);
}
.btn-gradient--color__10 {
background-image: linear-gradient(to right, #ed6ea0, #ec8c69, #f7186a, #fbb03b);
box-shadow: 0 4px 15px 0 rgba(236, 116, 149, 0.75);
}
.btn-gradient--color__11 {
background-image: linear-gradient(to right, #eb3941, #f15e64, #e14e53, #e2373f);
box-shadow: 0 5px 15px rgba(242, 97, 103, 0.4);
}
Now all buttons will get beautiful gradient backgrounds. But we also want to create little wave like effect on hovering these buttons. So for that we will use background-position
property in CSS. To know more about background-position
, Click Here .
So for creating little wave like effect from right to left , we will make background-position
property of buttons to 100%
in horizontal direction which is 0%
by default. Lets see how can we write this is CSS
.btn-gradient:hover {
background-position: 100% 0;
transition: all .4s ease-in-out;
}
As simple as that. And we have created 10-11 beautiful CSS Gradient Buttons With Cool Hover Effects with such a little code. Hope this will help you 😇. Thanks for reading. You can visit my Personal Blog for more tutorials like this.
Top comments (1)
Nice