CSS左侧折叠导航菜单是一种常见的网页设计元素,用于在页面左侧展示一个可折叠的导航栏。这种菜单通常包含多个子菜单项,用户可以通过点击或悬停来展开或折叠子菜单。
以下是一个简单的纯CSS实现左侧折叠导航菜单的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Left Foldable Navigation Menu</title>
<style>
body {
margin: 0;
font-family: Arial, sans-serif;
}
.nav {
width: 200px;
height: 100vh;
background-color: #333;
color: white;
overflow-y: auto;
transition: width 0.3s;
}
.nav.collapsed {
width: 50px;
}
.nav ul {
list-style-type: none;
padding: 0;
}
.nav li {
padding: 10px;
cursor: pointer;
}
.nav li:hover {
background-color: #555;
}
.nav li ul {
display: none;
padding-left: 20px;
}
.nav li:hover > ul {
display: block;
}
</style>
</head>
<body>
<div class="nav" id="nav">
<ul>
<li>Menu 1
<ul>
<li>Submenu 1.1</li>
<li>Submenu 1.2</li>
</ul>
</li>
<li>Menu 2
<ul>
<li>Submenu 2.1</li>
<li>Submenu 2.2</li>
</ul>
</li>
<li>Menu 3
<ul>
<li>Submenu 3.1</li>
<li>Submenu 3.2</li>
</ul>
</li>
</ul>
</div>
<button onclick="toggleNav()">Toggle Nav</button>
<script>
function toggleNav() {
const nav = document.getElementById('nav');
nav.classList.toggle('collapsed');
}
</script>
</body>
</html>
transition: width 0.3s;
。display
属性设置正确,例如display: none;
和display: block;
。classList.toggle
方法来切换类名,确保类名正确应用。通过以上方法,可以有效地实现和调试CSS左侧折叠导航菜单。
领取专属 10元无门槛券
手把手带您无忧上云