溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

css3+javascript按鈕水波紋效果怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2021-04-27 10:45:33 來(lái)源:億速云 閱讀:222 作者:小新 欄目:web開發(fā)

小編給大家分享一下css3+javascript按鈕水波紋效果怎么實(shí)現(xiàn),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

css3+js實(shí)現(xiàn)按鈕水紋漣漪效果

HTML

  • 首先我們用<a>標(biāo)簽定義兩個(gè)按鈕

<a href="#">button</a>
<a href="#">button</a>

CSS3

  • 調(diào)整布局樣式

  • 色彩范圍

* {
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif; /* 字體 */
}

body {
    display: flex;
    justify-content: center;/* 彈性盒子 */
    align-items: center;
    min-height: 100vh;
    flex-direction: column;
    background: #1f2a33;
}

a {
    position: relative;
    display: inline-block;
    padding: 12px 36px;
    margin: 10px 0;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 18px;
    letter-spacing: 2px;
    border-radius: 40px;
    overflow: hidden;
    background: linear-gradient(90deg, #0162c8, #55e7fc);
}
/* 子偽類選擇器 */
a:nth-child(2) {
    background: linear-gradient(90deg, #755bea, #ff72c0);
}

span {
    position: absolute;
    background: #fff;
    transform: translate(-50%, -50%);
    pointer-events: none;
    border-radius: 50%;
    animation: animate 1s linear infinite;
}

@keyframes animate {
    0% {
        width: 0px;
        height: 0px;
        opacity: 0.5;
    }
    100% {
        width: 500px;
        height: 500px;
        opacity: 0;
    }
}

JavaScript

  • 啟用 js 監(jiān)聽事件

  • 定時(shí)器

  • 目的:控制動(dòng)畫和單位時(shí)間內(nèi)點(diǎn)擊效果統(tǒng)一

const buttons = document.querySelectorAll('a');

buttons.forEach(btn => { //箭頭函數(shù) (ES6)

    btn.addEventListener('click', function (e) {
        let x = e.clientX - e.target.offsetLeft;
        let y = e.clientY - e.target.offsetTop;
        
        let ripples = document.createElement('span');
        
        ripples.style.left = x + 'px';
        ripples.style.top = y + 'px';
        
        this.appendChild(ripples);
        setTimeout(() => {
            ripples.remove()
        }, 1000);
    })
})

效果圖:

css3+javascript按鈕水波紋效果怎么實(shí)現(xiàn)

看完了這篇文章,相信你對(duì)“css3+javascript按鈕水波紋效果怎么實(shí)現(xiàn)”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI