在代码中实现不增加导航栏大小的情况下打开菜单,可以使用以下方法:
HTML:
CSS:
nav {
position: relative;
}
.menu {
display: none;
position: absolute;
top: 100%;
left: 0;
padding: 0;
margin: 0;
background-color: #fff;
border: 1px solid #ccc;
}
.menu li {
list-style: none;
}
.menu li a {
display: block;
padding: 10px;
text-decoration: none;
color: #333;
}
.menu-btn {
display: inline-block;
padding: 10px;
background-color: #333;
color: #fff;
text-decoration: none;
}
.menu-btn:hover {
background-color: #555;
}
.menu-btn.active {
background-color: #555;
}
.menu-btn.active + .menu {
display: block;
}
JavaScript:
document.querySelector('.menu-btn').addEventListener('click', function() {
this.classList.toggle('active');
});
这个方法使用了一个包含菜单选项的无序列表(
)和一个用于触发菜单的按钮()。通过设置菜单的CSS属性,将其定位在导航栏下方,同时通过JavaScript监听按钮的点击事件,切换按钮的样式,并显示/隐藏菜单。