首頁  >  文章  >  web前端  >  透過程式碼範例,了解css3+javascript按鈕水波紋效果

透過程式碼範例,了解css3+javascript按鈕水波紋效果

青灯夜游
青灯夜游轉載
2021-04-27 10:24:243197瀏覽

本篇文章透過程式碼範例,帶大家介紹一下css3 javascript實作按鈕水波紋效果的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

透過程式碼範例,了解css3+javascript按鈕水波紋效果

css3 js實作按鈕水紋漣漪效果

HTML

  • 首先我們用<a></a>標籤定義兩個按鈕
<a href="#">button</a>
<a href="#">button</a>

CSS3

    ##調整佈局樣式
  • 色彩範圍
  • * {
        margin: 0;
        padding: 0;
        font-family: &#39;Poppins&#39;, 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(&#39;a&#39;);
    
    buttons.forEach(btn => { //箭头函数 (ES6)
    
        btn.addEventListener(&#39;click&#39;, function (e) {
            let x = e.clientX - e.target.offsetLeft;
            let y = e.clientY - e.target.offsetTop;
            
            let ripples = document.createElement(&#39;span&#39;);
            
            ripples.style.left = x + &#39;px&#39;;
            ripples.style.top = y + &#39;px&#39;;
            
            this.appendChild(ripples);
            setTimeout(() => {
                ripples.remove()
            }, 1000);
        })
    })
效果圖:

透過程式碼範例,了解css3+javascript按鈕水波紋效果

更多程式相關知識,請造訪:

程式設計影片課程! !

以上是透過程式碼範例,了解css3+javascript按鈕水波紋效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除