css导航栏制作
水平导航栏制作
使用display: inline-block或flexbox实现水平排列。HTML结构为无序列表<ul>包裹多个<li>项,每个<li>包含链接<a>。
<ul class="navbar">
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
.navbar {
list-style-type: none;
margin: 0;
padding: 0;
background-color: #333;
}
.navbar li {
display: inline-block; /* 或使用 display: inline; */
}
.navbar a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.navbar a:hover {
background-color: #111;
}
垂直导航栏制作
修改display属性为block即可实现垂直排列。其他样式与水平导航类似。
.navbar li {
display: block;
}
固定定位导航栏
通过position: fixed使导航栏固定在视窗顶部或侧边。
.navbar {
position: fixed;
top: 0;
width: 100%; /* 水平固定 */
/* 或 left: 0; height: 100%; 垂直固定 */
}
响应式导航栏
使用媒体查询和flexbox或grid布局适配不同屏幕尺寸。移动端可添加汉堡菜单。
@media screen and (max-width: 600px) {
.navbar li {
display: none; /* 隐藏常规菜单 */
}
.navbar .icon {
display: block; /* 显示汉堡图标 */
}
}
下拉菜单实现
通过:hover或JavaScript触发子菜单显示。需要设置父元素position: relative和子菜单position: absolute。
.dropdown {
position: relative;
}
.dropdown-content {
display: none;
position: absolute;
min-width: 160px;
box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
}
.dropdown:hover .dropdown-content {
display: block;
}
导航栏动画效果
添加过渡效果增强交互体验,如颜色渐变或滑动效果。
.navbar a {
transition: background-color 0.3s ease;
}
.navbar li {
transition: transform 0.2s;
}
.navbar li:hover {
transform: translateY(-3px);
}
当前页面高亮
使用.active类或通过JavaScript动态添加样式标识当前页面。

.navbar a.active {
background-color: #4CAF50;
}






