<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>不可思议的CSS光标下划线跟随效果</title>
</head>
<style>
ul {display: flex; position: absolute; width: 800px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
li {position: relative; list-style: none; padding: 20px; font-size: 24px; color: #000; line-height: 1; transition: 0.2s all linear; cursor: pointer; }
li::before {
content: "";
position: absolute;
top: 0;
left: 100%;
width: 0;
height: 100%;
border-bottom: 2px solid #000;
transition: 0.2s all linear;
}
li:hover::before {
width: 100%;
top: 0;
left: 0;
transition-delay: 0.1s;
border-bottom-color: #000;
}
li:hover ~ li::before {
left: 0;
}
</style>
<body class="home">
<ul>
<li>不可思议的CSS</li>
<li>导航栏</li>
<li>光标下划线跟随</li>
<li>PURE CSS</li>
<li>Coco</li>
</ul>
</body>
</html>
老实说,我觉得这样也蛮好看的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>不可思议的CSS光标下划线跟随效果</title>
</head>
<style>
ul {display: flex; position: absolute; width: 800px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
li {position: relative; list-style: none; padding: 20px; font-size: 24px; color: #000; line-height: 1; transition: 0.2s all linear; cursor: pointer; }
li::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
border-bottom: 2px solid #000;
transition: 0.2s all linear;
}
li:hover::before {
width: 100%;
}
</style>
<body class="home">
<ul>
<li>不可思议的CSS</li>
<li>导航栏</li>
<li>光标下划线跟随</li>
<li>PURE CSS</li>
<li>Coco</li>
</ul>
</body>
</html>