Hover Animated Download Icon Button #169

CSS Hover animated download icon 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

Full width block 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-169">
    <span class="btn-icon">
        <span></span>
    </span>
    <span class="btn-text">Button 169</span>
</button>
Button CSS
.btn-169 {
    --icon_width: 8px;
    --icon_height: 10px;
    --icon_color: #ffffff;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    position: relative;
    padding: 15px 25px 15px 40px;
    background: radial-gradient(circle at bottom center, #fec35f, #e9772c, #f49d46);
    color: #ffffff;
    transform-style: preserve-3d;
    transition: all 500ms ease-in-out;
    font-family: Arial, Helvetica, sans-serif;
    cursor: pointer;
    text-decoration: none;
    user-select: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
    z-index: 1;
    box-sizing: border-box;
    /* width: 100%; */
}

.btn-169>span {
    box-sizing: border-box;
}

.btn-169:hover {
    color: #000000;
    background: radial-gradient(circle at center center, #f9f9f9, #a7a7a7);
}

.btn-169:hover .btn-icon {
    transition: all 800ms ease-in-out;
    transform: rotateY(90deg) rotate(-360deg);
}

.btn-169 .btn-icon {
    width: 80px;
    display: block;
    position: absolute;
    left: -20px;
    top: -36px;
    bottom: -40px;
    transform-style: preserve-3d;
    transform: rotateY(90deg) rotate(0deg);
}

.btn-169 .btn-icon>span {
    position: absolute;
    background: var(--icon_color);
    width: var(--icon_width);
    height: var(--icon_height);
    left: 0;
    top: 50px;
    transform: rotateY(-90deg);
}

.btn-169>.btn-icon>span::before {
    position: absolute;
    content: "";
    top: 100%;
    left: 0;
    margin-left: calc((var(--icon_width) * -1) + var(--icon_width) / 2);
    width: 0;
    height: 0;
    border-width: calc(var(--icon_width) + 5px) var(--icon_width) 0 var(--icon_width);
    border-color: var(--icon_color) transparent transparent transparent;
    border-style: solid;
}

@keyframes animate_169 {
    0% {
        transform: rotateY(90deg) rotate(0deg);
    }

    60% {
        transform: rotateY(90deg) rotate(-180deg);
    }

    100% {
        transform: rotateY(90deg) rotate(-360deg);
    }
}

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