css制作菜单
水平导航菜单
使用display: inline-block或flexbox创建水平菜单。设置背景色、间距和悬停效果增强交互性。
<style>
.nav-menu {
background-color: #333;
padding: 0;
list-style: none;
display: flex;
}
.nav-menu li {
padding: 15px 20px;
}
.nav-menu a {
color: white;
text-decoration: none;
}
.nav-menu li:hover {
background-color: #111;
}
</style>
<ul class="nav-menu">
<li><a href="#">首页</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">服务</a></li>
</ul>
垂直下拉菜单
通过:hover伪类触发下拉效果。绝对定位实现二级菜单的层叠布局,transition添加平滑动画。

<style>
.dropdown {
position: relative;
display: inline-block;
}
.dropbtn {
background-color: #4CAF50;
padding: 12px;
border: none;
cursor: pointer;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
<div class="dropdown">
<button class="dropbtn">下拉菜单</button>
<div class="dropdown-content">
<a href="#">选项1</a>
<a href="#">选项2</a>
</div>
</div>
响应式汉堡菜单
媒体查询检测屏幕宽度,transform属性创建动画图标。JavaScript控制移动端的菜单展开/折叠。

<style>
.topnav {
overflow: hidden;
background-color: #333;
}
.topnav a {
float: left;
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.icon {
display: none;
}
@media screen and (max-width: 600px) {
.topnav a:not(:first-child) {display: none;}
.topnav a.icon {
float: right;
display: block;
}
.topnav.responsive {position: relative;}
.topnav.responsive .icon {
position: absolute;
right: 0;
top: 0;
}
.topnav.responsive a {
float: none;
display: block;
text-align: left;
}
}
</style>
<div class="topnav" id="myTopnav">
<a href="#">首页</a>
<a href="#">产品</a>
<a href="javascript:void(0);" class="icon" onclick="toggleMenu()">☰</a>
</div>
<script>
function toggleMenu() {
const nav = document.getElementById("myTopnav");
nav.classList.toggle("responsive");
}
</script>
圆角标签式菜单
border-radius实现圆角外观,box-shadow添加深度效果。活动标签使用不同背景色突出显示。
<style>
.tab-menu {
border-radius: 10px;
overflow: hidden;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.tab-menu a {
float: left;
padding: 12px 20px;
background: #f1f1f1;
color: #333;
text-decoration: none;
}
.tab-menu a.active {
background: #4CAF50;
color: white;
}
</style>
<div class="tab-menu">
<a class="active" href="#">标签1</a>
<a href="#">标签2</a>
<a href="#">标签3</a>
</div>
粘性固定菜单
position: sticky保持菜单在滚动时可见。z-index确保菜单始终位于其他内容上方。
<style>
.sticky-menu {
position: sticky;
top: 0;
z-index: 100;
background: white;
padding: 10px;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
</style>
<div class="sticky-menu">
<a href="#">首页</a> |
<a href="#">关于</a> |
<a href="#">联系</a>
</div>






