使用css制作导航
CSS 导航栏制作方法
水平导航栏
使用 display: inline-block 或 flexbox 创建水平导航栏。inline-block 让列表项水平排列,flexbox 提供更灵活的布局控制。
.nav {
background-color: #333;
overflow: hidden;
}
.nav ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.nav li {
display: inline-block;
}
.nav a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.nav a:hover {
background-color: #111;
}
垂直导航栏
将 display 属性设置为 block,列表项会垂直堆叠。适合侧边栏导航。
.nav {
background-color: #f1f1f1;
width: 200px;
}
.nav a {
display: block;
color: black;
padding: 12px;
text-decoration: none;
}
.nav a:hover {
background-color: #555;
color: white;
}
固定导航栏
使用 position: fixed 让导航栏始终停留在页面顶部或底部。top: 0 或 bottom: 0 控制位置。
.nav {
position: fixed;
top: 0;
width: 100%;
z-index: 1000;
}
响应式导航栏
通过媒体查询调整导航栏布局。小屏幕时切换为汉堡菜单。
@media screen and (max-width: 600px) {
.nav li {
display: none;
}
.nav .icon {
display: block;
}
}
下拉菜单导航
结合 :hover 伪类和绝对定位实现下拉菜单效果。子菜单默认隐藏,鼠标悬停时显示。
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
min-width: 160px;
box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown:hover .dropdown-content {
display: block;
}
粘性导航栏
position: sticky 在滚动到特定位置时固定导航栏。比纯固定定位更灵活。
.nav {
position: sticky;
top: 0;
}
导航栏动画效果
添加过渡效果使交互更平滑。transition 属性控制动画持续时间。

.nav a {
transition: background-color 0.3s ease;
}






