CSS导航条是网站和应用程序的核心组成部分之一。它是用户访问网站的主要方式之一,因此必须良好设计和易于使用。本文将为您介绍创意十足、实用又美观的CSS导航条教程。
1. 基本导航条设计
首先,让我们来看看一个基本的导航条。它由菜单栏、指针和下拉菜单组成。
HTML 部分:
```
```
CSS 部分:
```
nav {
background-color: #343a40;
display: flex;
justify-content: center;
}
.menu {
list-style-type: none;
display: flex;
margin: 0;
padding: 0;
}
.menu li {
margin-right: 20px;
position: relative;
}
.menu li:last-child {
margin-right: 0;
}
.menu a {
color: #fff;
display: block;
padding: 15px 20px;
}
.menu li ul {
background-color: #343a40;
border-radius: 0 0 3px 3px;
display: none;
padding: 4px 0;
position: absolute;
top: 45px;
width: 150px;
}
.menu li ul li {
margin-right: 0;
}
.menu li:hover > ul {
display: block;
}
.menu ul li a:hover {
background-color: #555;
}
.menu li:before {
border-bottom: 5px solid transparent;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid #fff;
content: "";
display: inline-block;
height: 0;
position: absolute;
right: -4px;
top: 23px;
width: 0;
}
.menu ul ul:before {
border-bottom: 5px solid transparent;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid #343a40;
content: "";
display: inline-block;
height: 0;
position: absolute;
right: 14px;
top: -5px;
width: 0;
}
```
2. 悬停动画
这个导航条有一个很吸引人的悬停动画,当用户悬停在菜单上时,指针将转向菜单项并高亮显示。
```
.menu li a:hover {
color: #fff;
}
.menu li:hover > a {
color: #fff;
}
.menu li:hover:before {
border-top-color: #343a40;
}
```
3. 变色导航条
变色导航条是一个很受欢迎的设计,随着用户滚动窗口,导航条会透明地变色。
HTML 部分:
```
```
CSS 部分:
```
nav {
background-color: #343a40;
position: fixed;
top: 0;
width: 100%;
}
.menu li a {
color: #fff;
display: block;
padding: 20px;
text-align: center;
transition: all 0.3s ease-in-out;
}
.menu li a:hover {
background-color: #555;
}
.menu li.active a {
background-color: #ec1d27;
}
```
JavaScript 部分:
```
$(document).ready(function() {
$(window).scroll(function() {
if ($(window).scrollTop() > 50) {
$('nav').addClass('active');
} else {
$('nav').removeClass('active');
}
});
});
```
4. 标志设计
一个好的标志是与导航条一样重要的,以下代码中展示了一个充满创意的标志设计。
HTML 部分:
```