css 菜单制作
CSS 菜单制作方法
水平导航菜单
使用 display: inline-block 或 flexbox 创建水平菜单:
.nav-menu {
background-color: #333;
padding: 0;
margin: 0;
list-style-type: none;
display: flex;
}
.nav-menu li {
padding: 15px 20px;
}
.nav-menu li a {
color: white;
text-decoration: none;
}
.nav-menu li:hover {
background-color: #111;
}
HTML 结构:
<ul class="nav-menu">
<li><a href="#">首页</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">服务</a></li>
<li><a href="#">关于</a></li>
</ul>
垂直导航菜单
创建垂直堆叠的菜单项:
.vertical-menu {
width: 200px;
background-color: #f1f1f1;
list-style-type: none;
padding: 0;
}
.vertical-menu li a {
display: block;
color: #000;
padding: 12px 16px;
text-decoration: none;
}
.vertical-menu li a:hover {
background-color: #ddd;
}
下拉菜单
结合 CSS 伪类和定位实现下拉效果:

.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown:hover .dropdown-content {
display: block;
}
HTML 结构:
<div class="dropdown">
<button>下拉菜单</button>
<div class="dropdown-content">
<a href="#">选项1</a>
<a href="#">选项2</a>
<a href="#">选项3</a>
</div>
</div>
响应式菜单
使用媒体查询创建移动端友好的菜单:

.mobile-menu {
display: none;
}
@media screen and (max-width: 600px) {
.nav-menu li {
display: none;
}
.mobile-menu {
display: block;
}
}
动画效果
为菜单添加过渡动画:
.animated-menu li {
transition: all 0.3s ease;
}
.animated-menu li:hover {
transform: translateY(-3px);
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
汉堡菜单图标
纯 CSS 实现的汉堡菜单图标:
.hamburger {
width: 30px;
height: 20px;
position: relative;
cursor: pointer;
}
.hamburger span {
display: block;
position: absolute;
height: 3px;
width: 100%;
background: #333;
border-radius: 3px;
transition: all 0.3s ease;
}
.hamburger span:nth-child(1) {
top: 0;
}
.hamburger span:nth-child(2) {
top: 50%;
transform: translateY(-50%);
}
.hamburger span:nth-child(3) {
bottom: 0;
}
粘性菜单
创建滚动时固定在顶部的菜单:
.sticky-menu {
position: sticky;
top: 0;
z-index: 100;
}
这些方法可以根据实际需求组合使用,创建各种风格的 CSS 菜单。通过调整颜色、间距、动画效果等属性,可以进一步定制菜单的外观和行为。






