>  기사  >  웹 프론트엔드  >  코드 예제를 통해 CSS3+javascript 버튼 물 파급 효과에 대해 알아보세요.

코드 예제를 통해 CSS3+javascript 버튼 물 파급 효과에 대해 알아보세요.

青灯夜游
青灯夜游앞으로
2021-04-27 10:24:243095검색

이 기사에서는 코드 예제를 사용하여 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

    Enable js listening events
  • Timer
  • 목적: 단위 시간 내에서 애니메이션 및 클릭 효과를 통일적으로 제어
  • 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으로 문의하시기 바랍니다. 삭제