掌握CSS多级下拉菜单需理解结构嵌套与定位,1. 使用ul/li构建语义化层级;2. 父级设position: relative,子菜单用position: absolute脱离文档流;3. 通过:hover触发子菜单display显示;4. 子菜单向右展开时设置left: 100%;5. 添加transition、z-index优化交互体验。
用CSS制作多级下拉菜单并不难,只要理解hover伪类和absolute定位的配合使用,就能轻松实现。整个过程不需要JavaScript,适合静态网站或作为功能基础。
下拉菜单依赖清晰的嵌套结构,通常使用
隐藏子菜单默认不显示,通过:hover触发显示。子菜单使用absolute脱离文档流,相对于父元素定位。
样式控制显示与定位,注意层级和过渡效果。
.menu {
list-style: none;
padding: 0;
margin: 0;
display: flex;
}
.menu > li {
position: relative;
}
.menu a {
display: block;
padding: 10px 15px;
text-decoration: none;
background: #333;
color: white;
}
.submenu {
position: absolute;
top: 100%;
left: 0;
list-style: none;
padding: 0;
margin: 0;
min-width: 120px;
display: none;
background: #444;
z-index: 10;
}
.menu li:hover > .submenu {
display: block;
}
/ 多级菜单向右展开 /
.submenu .submenu {
top: 0;
left: 100%;
}
让菜单更实用,可以加一些小改进。
基本上就这些。掌握结构嵌套、relative/absolute定位关系和:hover的触发逻辑,多级菜单自然水到渠成。不复杂但容易忽略细节。