我构建了一个具有平滑过渡效果的汉堡菜单,使其在视觉上更具吸引力。一切工作正常,我能够使用javascript做到这一点。但是,一旦浏览器到达显示汉堡包菜单的某些断点,滑块导航就会突然出现然后关闭。

CSS代码:

    body {
        overflow-x: hidden;
    }
    .nav-links {
        position: absolute;
        right: 0;
        height: 92vh;
        top: 8vh;
        background-color: #54976B;
        flex-direction: column;
        justify-content: space-evenly;
        align-items: center;
        width: 30%;
        transform: translateX(100%);
        transition: transform 0.5s ease-in;


            li {
                opacity: 0;
            }


    }

    .burger {
        display: block;
    }

} ```

### Then this is my active class so the transform occurs when the hamburger menu is being clicked
``` .nav-active {
    transform: translateX(0);


}



这是我的JavaScript代码:

    const burger = document.querySelector('.burger')
    const nav = document.querySelector('.nav-links')

    burger.addEventListener('click', () => {
        nav.classList.toggle('nav-active')
    })
}

最佳答案

您的代码似乎可以正常工作,只是burger在移动设备上也不真正可见。尝试添加此内容以对其进行跟踪:



@media (max-width: 800px) {
  .burger {
    display: block;
    width:20px;
    height:20px;
    border:1px solid red;
  }
}

10-04 15:36