【发布时间】:2020-04-18 20:59:25
【问题描述】:
我正在尝试为导航栏中的元素设置动画,以便在将鼠标悬停在上方时具有缓入淡出的下划线。但是,它不是只给选定的链接加下划线,而是给整个 ul 元素加下划线。
我该如何解决这个问题?
a {
text-decoration: none;
color: black;
}
.nav a::before {
content: "";
position: absolute;
width: 100%;
height: 2px;
bottom: 0;
left: 0;
background-color: rgb(92, 149, 112);
visibility: hidden;
transform: scaleX(0);
transition: all 0.3s ease-in-out 0s;
}
.nav a:hover::before {
visibility: visible;
transform: scaleX(1);
}
ul.nav {
font-size: 11px;
list-style: none;
position: fixed;
display: block;
padding: 0;
margin: 0;
z-index: 100;
top: 0.5em;
right: 1.5em;
}
.nav li {
display: inline-block;
margin: 7px 15px;
}
.nav a:active::before {
visibility: visible;
transform: scaleX(1)
}
<ul class="nav">
<li id="nav-home"><a id="a-home" href="#">Home</a></li>
<li id="nav-services"><a href="#">Services</a></li>
<li id="nav-about"><a href="#">About</a></li>
<li id="nav-contact"><a href="#">Contact</a></li>
</ul>
【问题讨论】: