HTML结构
<button class="hamburger">
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
</button>
CSS样式
.hamburger {
cursor: pointer;
background-color: transparent;
border: none;
padding: 10px;
}
.hamburger .bar {
width: 30px;
height: 3px;
background-color: #333;
margin: 6px 0;
transition: 0.4s;
}
/* 鼠标悬停时的样式 */
.hamburger:hover .bar {
background-color: #555;
}
/* 菜单展开时的样式 */
.hamburger.active .bar:nth-child(1) {
transform: translateY(8px) rotate(-45deg);
}
.hamburger.active .bar:nth-child(2) {
opacity: 0;
}
.hamburger.active .bar:nth-child(3) {
transform: translateY(-8px) rotate(45deg);
}
JavaScript 控制展开和收起
const hamburger = document.querySelector('.hamburger');
const navMenu = document.querySelector('.nav-menu');
hamburger.addEventListener('click', function() {
this.classList.toggle('active');
navMenu.classList.toggle('active');
});