css导航栏下划线跟随效果

业务需要:CSS导航栏下划线跟随效果。

1. 定义Css式样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
body {
margin: 0;
padding: 0;
}

ul,li {
margin: 0;
padding: 0;
list-style: none;
}

ul {
height: 50px;
line-height: 50px;
background-color: #f5f5f5;
border-radius: 8px;
}

ul li {
display: inline-block;
padding: 0 20px;
position: relative;
cursor: pointer;
}

li::before {
content: "";
position: absolute;
top: 0;
left: 100%;
width: 0%;
height: 100%;
border-bottom: 2px solid #000;
transition: all 0.2s linear;
}

li:hover::before {
left: 0;
width: 100%;
}

li:hover~li::before {
left: 0;
}

li:active {
background: #000;
color: #fff;
}

2. HTML格式

1
2
3
4
5
6
7
<ul>
<li>不可思议的CSS</li>
<li>导航栏</li>
<li>光标小下划线跟随</li>
<li>PURE CSS</li>
<li>Nav Underline</li>
</ul>

实现效果如下:

Css导航栏下划线跟随效果