如何使用 CSS 设置导航栏的下划线格式



当我将鼠标悬停在单词上时,我想出了如何在导航栏的一部分下划线。我正在尝试使它在该页面上时的格式相同,以便下划线保留在那里。我想不通。希望得到一些帮助。 谢谢:)

*{
margin:0;
padding:0;
border:0;
}
.topnav {
background-color: purple;
overflow: hidden;
}

.topnav a {
float: left;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
position: relative;
}
.topnav a:before {
content: "";
position: absolute;
width: 84%;
height: 2px;
bottom: 3px;
left: 8%;
background-color: white;
visibility: hidden;
transform: scaleX(0);
transition: all 0.3s ease-in-out 0s;
}
.topnav a:hover:before {
visibility: visible;
transform: scaleX(1);
}
<!DOCTYPE html>
<html lang="en">
<link rel="stylesheet" href="style.css">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Change
</title>
</head>
<body>
<div class="topnav">
<a class="active" href="index.html">Home</a>
<a href="#news">DontUse</a>
<a href="#contact">DontUse</a>
<a href="about.html">About</a>
</div>
<p>
This is the home page
</p>
</body>
</html>

在这里,使用 jquery。 还制作了新的活动菜单类.topnav a.active-menu:before

$("a").click(function(){
$("a.active-menu").removeClass("active-menu");
$(this).addClass("active-menu");
});
*{
margin:0;
padding:0;
border:0;
}
.topnav {
background-color: purple;
overflow: hidden;
}

.topnav a {
float: left;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
position: relative;
}
.topnav a:before {
content: "";
position: absolute;
width: 84%;
height: 2px;
bottom: 3px;
left: 8%;
background-color: white;
visibility: hidden;
transform: scaleX(0);
transition: all 0.3s ease-in-out 0s;
}
.topnav a:hover:before {
visibility: visible;
transform: scaleX(1);
}
.topnav a.active-menu:before {
content: "";
position: absolute;
width: 84%;
height: 2px;
bottom: 3px;
left: 8%;
background-color: white;
visibility: visible;
transform: scaleX(1);
transition: all 0.3s ease-in-out 0s; 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<link rel="stylesheet" href="style.css">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Change
</title>
</head>
<body>
<div class="topnav" id="topnav">
<a class="active-menu" href="index.html">Home</a>
<a class="link" href="#news">DontUse</a>
<a class="link" href="#contact">DontUse</a>
<a class="link" href="about.html">About</a>
</div>
<p>
This is the home page
</p>
</body>
</html>

最新更新