HTML, CSS 및 Javascript에서 Microsoft와 같은 호버 효과가 있는 버튼 만들기

안녕하세요 친구 여러분, 오늘 이 블로그에서는 Microsoft와 같은 호버 효과가 있는 버튼을 만드는 방법을 배웁니다. HTML, CSS 및 Javascript에서. 이전 블로그에서 how to create a toast alert using HTML, CSS, and Javascript을 보았습니다. 이전에 javascript과 관련된 많은 프로젝트를 공유했으며 원하는 경우 확인할 수 있으며 확인하는 것을 잊지 마십시오 HTML, CSS, and Javascript projects .

웹에서 많은 종류의 버튼 호버 효과를 보았을 수 있지만 오늘 이 블로그에서는 Microsoft와 같은 버튼 호버 효과를 만드는 방법을 보여 드리겠습니다. 버튼 호버 효과를 확인할 수 있습니다here.

이 디자인[마이크로소프트와 같은 호버 효과가 있는 버튼]에는 위 이미지에서 볼 수 있는 것처럼 파란색 배경의 버튼이 있습니다. 커서 위치.

다음을 좋아할 수 있습니다.


  • Custom Select Input with search option
  • How to create text to speech converter
  • Password strength checker
  • Responsive Image Lightbox Design

  • 이 호버 효과의 기본 개념은 Javascript를 사용하여 버튼에 마우스를 올려 놓을 때 X 오프셋과 Y 오프셋을 가져와야 한다는 것입니다. 내가 말하려는 내용을 이해하기 어렵다면 소스 코드를 확인하거나 미리 볼 수도 있습니다.

    미리보기를 사용할 수 있습니다here.

    HTML 코드




    <!-- --------------------- Created By InCoder --------------------- -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Microsoft Button Design clone - InCoder</title>
        <link rel="stylesheet" href="main.css">
    </head>
    <body>
        <div class="btnContainer">
            <div class="blur"></div>
            <button class="inBtn">Submit</button>
        </div>
    
        <script src="script.js"></script>
    </body>
    </html>
    


    CSS 코드




    /* --------------------- Created By InCoder --------------------- */
    
    @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
    
    *{
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Poppins', sans-serif;
    }
    
    body{
        display: flex;
        height: 100vh;
        align-items: center;
        justify-content: center;
        background-color: #393536;
    }
    
    .btnContainer{
        --x: 0%;
        --y: 0%;
        width: 10rem;
        height: 3rem;
        overflow: hidden;
        position: relative;
        border-radius: .5rem;
        background-color: red;
    }
    
    .btnContainer::before{
        content: '';
        opacity: 0;
        width: 3rem;
        height: 3rem;
        cursor: pointer;
        position: absolute;
        filter: blur(1rem);
        transition: all .1s linear;
        top: calc(var(--y) - 1rem);
        left: calc(var(--x) - 1.2rem);
        background: radial-gradient(white, #3984ff00 80%);
        box-shadow: 0 0 20px rgb(255 255 255 / 20%);
    }
    
    .btnContainer:hover::before {
        opacity: 1;
    }
    
    .inBtn{
        border: 0;
        width: 100%;
        height: 100%;
        color: #fff;
        cursor: pointer;
        font-size: 1.1rem;
        background-color: #4b91d7;
    }
    


    자바스크립트 코드




    // --------------------- Created By InCoder ---------------------
    
    let inBtn = document.querySelector('.btnContainer .inBtn')
    btnContainer = document.querySelector('.btnContainer')
    
    inBtn.addEventListener('mousemove', e => {
        btnContainer.style.setProperty('--x', `${e.offsetX}px`)
        btnContainer.style.setProperty('--y', `${e.offsetY}px`)
        btnContainer.classList.add('active')
    })
    

    좋은 웹페이지 즐겨찾기