ホームページ  >  記事  >  ウェブフロントエンド  >  コード例を通じて CSS3 + JavaScript ボタンの水の波紋効果について学びます

コード例を通じて CSS3 + JavaScript ボタンの水の波紋効果について学びます

青灯夜游
青灯夜游転載
2021-04-27 10:24:243093ブラウズ

この記事では、コード例を使用して、css3 JavaScript を使用してボタンの水の波紋効果を実現する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

コード例を通じて CSS3 + JavaScript ボタンの水の波紋効果について学びます

#ボタンの水の波紋効果を実現するための css3 js

#HTML

# #まず、CSS3

レイアウト スタイルを調整します
  • 色の範囲
  • * {
        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リスニングイベントを有効にする
  • タイマー
  • 目的: アニメーションと単位時間あたりのクリック効果を統一して制御するには
  • const buttons = document.querySelectorAll('a');
    
    buttons.forEach(btn => { //箭头函数 (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 ボタンの水の波紋効果について学びますプログラミング関連の知識については、こちらをご覧ください。 :

プログラミングビデオコース

! !

以上がコード例を通じて CSS3 + JavaScript ボタンの水の波紋効果について学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。