css制作导航菜单
水平导航菜单
使用 display: inline-block 或 flexbox 实现水平排列的导航菜单。

<nav class="horizontal-menu">
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">服务</a></li>
<li><a href="#">关于我们</a></li>
</ul>
</nav>
.horizontal-menu ul {
list-style-type: none;
margin: 0;
padding: 0;
background-color: #333;
}
.horizontal-menu li {
display: inline-block;
}
.horizontal-menu a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.horizontal-menu a:hover {
background-color: #111;
}
垂直导航菜单
通过设置 display: block 创建垂直排列的导航菜单。

<nav class="vertical-menu">
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">服务</a></li>
<li><a href="#">关于我们</a></li>
</ul>
</nav>
.vertical-menu ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 200px;
background-color: #f1f1f1;
}
.vertical-menu li a {
display: block;
color: #000;
padding: 8px 16px;
text-decoration: none;
}
.vertical-menu li a:hover {
background-color: #555;
color: white;
}
下拉菜单导航
结合 :hover 伪类和绝对定位实现下拉菜单效果。
<nav class="dropdown-menu">
<ul>
<li><a href="#">首页</a></li>
<li class="dropdown">
<a href="#">产品</a>
<div class="dropdown-content">
<a href="#">产品1</a>
<a href="#">产品2</a>
<a href="#">产品3</a>
</div>
</li>
<li><a href="#">服务</a></li>
</ul>
</nav>
.dropdown-menu ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
.dropdown-menu li {
float: left;
}
.dropdown-menu li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.dropdown-menu li a:hover {
background-color: #111;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {
background-color: #ddd;
}
.dropdown:hover .dropdown-content {
display: block;
}
响应式导航菜单
使用媒体查询和 flexbox 创建适应不同屏幕尺寸的导航菜单。
<nav class="responsive-menu">
<div class="menu-icon">☰</div>
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">服务</a></li>
<li><a href="#">关于我们</a></li>
</ul>
</nav>
.responsive-menu {
background-color: #333;
display: flex;
flex-direction: column;
}
.responsive-menu ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
}
.responsive-menu li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.responsive-menu li a:hover {
background-color: #111;
}
.menu-icon {
display: none;
color: white;
font-size: 24px;
padding: 14px 16px;
cursor: pointer;
}
@media screen and (min-width: 768px) {
.responsive-menu ul {
flex-direction: row;
}
.menu-icon {
display: none;
}
}
@media screen and (max-width: 767px) {
.responsive-menu ul {
display: none;
}
.menu-icon {
display: block;
}
.responsive-menu.active ul {
display: flex;
}
}
document.querySelector('.menu-icon').addEventListener('click', function() {
document.querySelector('.responsive-menu').classList.toggle('active');
});






