答案:使用HTML和CSS实现导航栏下拉菜单。首先构建包含“服务”子菜单的列表结构,通过CSS设置导航样式,利用:hover伪类控制子菜单显示,结合display、position和flex布局实现交互效果,最终完成无需JavaScript的下拉菜单。

在CSS初级项目中,实现一个简单的导航栏下拉菜单是常见的需求。它不仅能提升网页的交互性,还能帮助用户更直观地浏览网站内容。下面是一个基础但实用的实现方法,使用HTML和纯CSS完成。
1. 基本HTML结构
首先构建导航栏的基本结构。使用无序列表 和列表项 来组织菜单项,其中包含一个带有子菜单的“服务”项。
2. 基础CSS样式
为导航栏设置基本样式,包括背景色、字体、去除默认列表样式等。
.navbar ul {
list-style-type: none;
margin: 0;
padding: 0;
background-color: #333;
overflow: hidden;
}
.navbar li a {
display: block;
color: white;
text-align: center;
padding: 14px 20px;
text-decoration: none;
}
.navbar li a:hover {
background-color: #555;
}3. 实现下拉菜单显示与隐藏
关键在于利用 :hover 伪类控制子菜单的显示。默认隐藏子菜单,鼠标悬停时显示。
立即学习“前端免费学习笔记(深入)”;
.dropdown-content {
display: none;
position: absolute;
background-color: #444;
min-width: 160px;
box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content li a {
padding: 12px 16px;
}
.dropdown:hover .dropdown-content {
display: block;
}说明:
- display: none; 让下拉菜单默认不可见。
- position: absolute; 使下拉菜单脱离文档流,定位在父元素下方。
- :hover 在父级 .dropdown 上触发,显示内部的 .dropdown-content。
4. 水平布局调整
让主菜单项横向排列,可以给 li 添加浮动或使用 flex 布局。
.navbar ul {
display: flex; /* 或者 float: left */
}
.dropdown {
position: relative;
}注意: 给 .dropdown 设置 position: relative 是为了让绝对定位的子菜单以它为参考点。
基本上就这些。这个方案不依赖JavaScript,适合初学者理解CSS选择器、盒模型、定位和伪类的综合应用。只要结构清晰,样式逻辑明确,就能实现一个稳定可用的下拉导航菜单。










