首页前端开发CSScss3 贴边隐藏菜单栏

css3 贴边隐藏菜单栏

时间2023-12-05 21:10:03发布访客分类CSS浏览1027
导读:在网页设计中,一个好的菜单栏可以让用户更加方便的使用网页。但是当菜单栏过长时,它会占据过多的空间影响视觉效果。为了解决这个问题,在 CSS3 中提供了一种新的方式,可以通过贴边隐藏菜单栏。nav {position: fixed;top:...

在网页设计中,一个好的菜单栏可以让用户更加方便的使用网页。但是当菜单栏过长时,它会占据过多的空间影响视觉效果。为了解决这个问题,在 CSS3 中提供了一种新的方式,可以通过贴边隐藏菜单栏。

nav {
    position: fixed;
    top: 0;
    left: -200px;
     /* 负数值为隐藏 */width: 200px;
    height: 100vh;
    background-color: #fff;
    box-shadow: 0 0 10px #ccc;
    transition: left 0.3s ease-in-out;
}
nav.open {
    left: 0;
 /* 正数值为显示 */}
nav ul {
    padding: 20px;
}
nav ul li {
    list-style: none;
    margin-bottom: 20px;
}
nav ul li a {
    text-decoration: none;
    color: #333;
    font-size: 18px;
}
.menu-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background-color: #666;
    cursor: pointer;
    transition: transform 0.3s ease-in-out;
}
.menu-btn span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: #fff;
    margin: 0 auto;
    margin-top: 9px;
    transition: transform 0.3s ease-in-out;
}
.menu-btn span:first-child {
    margin-top: 0;
}
.menu-btn.open span:first-child {
    transform: rotate(45deg) translate(5px, 5px);
}
.menu-btn.open span:last-child {
    transform: rotate(-45deg) translate(5px, -5px);
}
.menu-btn.open span:nth-child(2) {
    transform: scale(0);
}
    

上述代码中,我们使用了position: fixed; 定位方式使导航栏固定在屏幕上。通过设置导航栏的top: 0; left: -200px; ,可以将导航栏完全隐藏起来。

为了实现点击按钮出现菜单的效果,我们还需要用到 JS:

document.querySelector('.menu-btn').addEventListener('click', function() {
    document.querySelector('nav').classList.toggle('open');
    document.querySelector('.menu-btn').classList.toggle('open');
}
    );
    

代码中,我们首先用querySelector('.menu-btn')找到按钮元素,然后在点击事件中,使用classList.toggle('open')来控制菜单的显示和隐藏。

在样式上,我们还使用了一些 CSS3 新特性来美化样式,如box-shadowtransitiontransform等。

如果你也想使用这种简单而实用的导航栏效果,可以在网页中引用上述代码。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: css3 贴边隐藏菜单栏
本文地址: https://pptw.com/jishu/569593.html
css3 设置背景的透明度 css在图片上放 文字

游客 回复需填写必要信息