纯CSS横向下拉菜单是一种使用CSS(层叠样式表)实现的导航菜单,其中子菜单项在鼠标悬停或点击父菜单项时横向展开。这种菜单不依赖JavaScript,完全通过CSS的伪类和布局属性来实现。
适用于需要简洁、快速响应的网站导航,特别是在移动设备上,因为纯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横向下拉菜单</title>
<style>
body {
font-family: Arial, sans-serif;
}
.menu {
display: flex;
list-style: none;
padding: 0;
margin: 0;
}
.menu li {
position: relative;
}
.menu a {
display: block;
padding: 10px 20px;
text-decoration: none;
color: #333;
}
.menu li:hover > ul {
display: block;
}
.menu ul {
display: none;
position: absolute;
top: 100%;
left: 0;
background-color: #fff;
border: 1px solid #ccc;
list-style: none;
padding: 0;
margin: 0;
min-width: 200px;
}
.menu ul li {
width: 100%;
}
.menu ul a {
padding: 10px 20px;
}
</style>
</head>
<body>
<ul class="menu">
<li><a href="#">菜单1</a>
<ul>
<li><a href="#">子菜单1-1</a></li>
<li><a href="#">子菜单1-2</a></li>
</ul>
</li>
<li><a href="#">菜单2</a>
<ul>
<li><a href="#">子菜单2-1</a></li>
<li><a href="#">子菜单2-2</a></li>
</ul>
</li>
<li><a href="#">菜单3</a></li>
</ul>
</body>
</html>
position: absolute
和top: 100%
来确保子菜单在父菜单下方展开。left
属性以确保子菜单水平对齐。-webkit-
、-moz-
)来支持旧版浏览器。通过以上方法,可以有效地实现和调试纯CSS横向下拉菜单。
领取专属 10元无门槛券
手把手带您无忧上云