Hover Bubbles Animated Button #187

CSS Hover bubbles animated button

Adding these style CSS buttons to your website is easier than you think. Simply copy and paste the CSS code provided with each button design into your stylesheet

Preview Button Style

You can view the default style of buttons, the disabled state mode style of buttons, and the full-width block style of the button here. Some buttons style may not display in full width format

Button style

Disabled style

Button Source Code HTML and CSS

Click the button below to download the source code or edit it live.
To copy this click on the icon at the top right of the code box
Button HTML
<button class="btn-187">Button 187</button>
Button CSS
.btn-187 {
    --bg_color: #ce1a03;
    --color: #fff;
    position: relative;
    padding: 12px 24px;
    border-radius: 8px;
    border: none;
    color: var(--color);
    background-color: var(--bg_color);
    transition: all 0.2s ease;
    font-family: Arial, Helvetica, sans-serif;
    cursor: pointer;
    text-decoration: none;
    user-select: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 15px;
}

.btn-187:active {
    transform: scale(0.95);
}

.btn-187:before,
.btn-187:after {
    position: absolute;
    content: "";
    width: 150%;
    left: 50%;
    height: 100%;
    transform: translateX(-50%);
    z-index: -1000;
    background-repeat: no-repeat;
}

.btn-187:hover:before {
    top: -70%;
    background-image: radial-gradient(circle, #ff5050 20%, transparent 20%),
        radial-gradient(circle, transparent 20%, #50ff99 20%, transparent 30%),
        radial-gradient(circle, #cd50ff 20%, transparent 20%),
        radial-gradient(circle, #13c24d 20%, transparent 20%),
        radial-gradient(circle, transparent 10%, #50f3ff 15%, transparent 20%),
        radial-gradient(circle, #161210 20%, transparent 20%),
        radial-gradient(circle, #9a43ec 20%, transparent 20%),
        radial-gradient(circle, #c0fff7 20%, transparent 20%),
        radial-gradient(circle, #d3d0ce 20%, transparent 20%);
    background-size: 10% 10%, 20% 20%, 15% 15%, 20% 20%, 18% 18%, 10% 10%, 15% 15%,
        10% 10%, 18% 18%;
    background-position: 50% 120%;
    animation: animate_top_187 0.6s ease;
}

@keyframes animate_top_187 {
    0% {
        background-position: 5% 90%, 10% 90%, 10% 90%, 15% 90%, 25% 90%, 25% 90%,
            40% 90%, 55% 90%, 70% 90%;
    }

    50% {
        background-position: 0% 80%, 0% 20%, 10% 40%, 20% 0%, 30% 30%, 22% 50%,
            50% 50%, 65% 20%, 90% 30%;
    }

    100% {
        background-position: 0% 70%, 0% 10%, 10% 30%, 20% -10%, 30% 20%, 22% 40%,
            50% 40%, 65% 10%, 90% 20%;
        background-size: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%;
    }
}

.btn-187:hover::after {
    bottom: -70%;
    background-image: radial-gradient(circle, #f1ed00 20%, transparent 20%),
        radial-gradient(circle, #00ff55 20%, transparent 20%),
        radial-gradient(circle, transparent 10%, #00c3ff 15%, transparent 20%),
        radial-gradient(circle, #ff00bf 20%, transparent 20%),
        radial-gradient(circle, #6200ff 20%, transparent 20%),
        radial-gradient(circle, #c4c4c4 20%, transparent 20%),
        radial-gradient(circle, #000000 20%, transparent 20%);
    background-size: 15% 15%, 20% 20%, 18% 18%, 20% 20%, 15% 15%, 20% 20%, 18% 18%;
    background-position: 50% 0%;
    animation: animate_bottom_187 0.6s ease;
}

@keyframes animate_bottom_187 {
    0% {
        background-position: 10% -10%, 30% 10%, 55% -10%, 70% -10%, 85% -10%,
            70% -10%, 70% 0%;
    }

    50% {
        background-position: 0% 80%, 20% 80%, 45% 60%, 60% 100%, 75% 70%, 95% 60%,
            105% 0%;
    }

    100% {
        background-position: 0% 90%, 20% 90%, 45% 70%, 60% 110%, 75% 80%, 95% 70%,
            110% 10%;
        background-size: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%;
    }
}

/*** disabled style ***/
.btn-187:disabled {
    pointer-events: none;
    opacity: .65;
    color: #7e7e7e;
    background: #dcdcdc;
    box-shadow: none;
    text-shadow: none;
}