24 Button Hover Animations

This tutorial explains how to add advanced hover animations in a few simple steps using CSS and JavaScript code.


Code editor

Estimated time

10 min.

Basic plugin configuration

The hover transition duration should be 0 sec. 

Go to Plugin Settings ➝ Desing ➝ Colors ➝ Transition and set duration to 0.

Adding basic CSS code

1. Copy CSS code below, go to Tools ➝ Code Editor ➝ CSS and paste it.


body:not(.gridbox) .btn-hover-effect .ba-btn-transition {
 overflow: hidden;
 position: relative;
 transition: background .0s ease-in-out;
body:not(.gridbox) .btn-hover-effect .ba-btn-transition > i,
body:not(.gridbox) .btn-hover-effect .ba-btn-transition > span {
 z-index: 5
body:not(.gridbox) .btn-hover-effect .ba-btn-transition:before,
body:not(.gridbox) .btn-hover-effect .ba-btn-transition:after {
 border-radius: inherit;
 bottom: 0;
 content: "";
 left: 0;
 position: absolute;
 right: 0;
 top: 0;
 transition: .3s;
body:not(.gridbox) .btn-hover-effect .ba-btn-transition:before {
 background: var(--button-background-color);
 z-index: 1;
body:not(.gridbox) .btn-hover-effect .ba-btn-transition:after {
 background: var(--button-background-hover);
 z-index: 2;

Adding basic JavaScript code

2. Copy JavaScript code below, go to Tools ➝ Code Editor ➝ JavaScript and paste it.


document.addEventListener('DOMContentLoaded', () => {
    jQuery('.btn-hover-effect a').each(function(){
        let style = getComputedStyle(this),
            borderRadius = style.borderRadius,
            color = style.backgroundColor;
        this.style.setProperty('--button-background-color', color);
        this.style.setProperty('--button-border-radius', borderRadius);
    }).on('mouseenter', function(){
        let color = getComputedStyle(this).backgroundColor;
        this.style.setProperty('--button-background-hover', color);

Adding CSS class suffix

3. Copy CSS class suffix from the demo, go to Item Settings ➝ General ➝ Advanced ➝ Class Suffix and paste it.

Adding CSS

4. Copy CSS from the demo, go to Tools ➝ Code Editor ➝ CSS and paste it.

Something is not clear? Ask a question on community forums.