纯CSS实现多级菜单是指使用CSS的伪类选择器(如:hover
、:focus
等)和嵌套列表(<ul>
、<li>
)来创建一个多层次的下拉菜单,而不依赖JavaScript。这种方法主要依赖于CSS的层叠和继承特性来实现菜单的展开和收起效果。
以下是一个简单的纯CSS实现多级菜单的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pure CSS Multi-level Menu</title>
<style>
body {
font-family: Arial, sans-serif;
}
ul {
list-style: none;
padding: 0;
margin: 0;
}
ul li {
position: relative;
}
ul li a {
display: block;
padding: 10px;
text-decoration: none;
color: #333;
}
ul li a:hover {
background-color: #f0f0f0;
}
ul ul {
display: none;
position: absolute;
top: 100%;
left: 0;
background-color: #fff;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
ul ul li {
width: 200px;
}
ul li:hover > ul {
display: block;
}
ul ul ul {
top: 0;
left: 100%;
}
</style>
</head>
<body>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Products</a>
<ul>
<li><a href="#">Electronics</a>
<ul>
<li><a href="#">Mobile Phones</a></li>
<li><a href="#">Laptops</a></li>
</ul>
</li>
<li><a href="#">Clothing</a></li>
</ul>
</li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</body>
</html>
display
属性设置为none
,并且在父菜单项悬停时设置为block
。position: absolute
和top
、left
属性来调整子菜单的位置。position: relative
,以便子菜单相对于父菜单定位。@media
)来调整菜单在不同屏幕尺寸下的布局。通过以上方法,可以实现一个简单且功能齐全的纯CSS多级菜单。
领取专属 10元无门槛券
手把手带您无忧上云