我有一个链接列表。当我悬停/专注于其中之一时。我想更改未悬停的链接的样式。
HTML
<nav>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
CSS
li {
list-style: none;
display: inline-block;
}
a {
color: black;
text-decoration: none;
padding: 15px;
opacity: 1;
}
a:hover {
color: black;
}
a:hover li a {
opacity: 0.5
}
Run Code Online (Sandbox Code Playgroud)
这通常可以更改不同元素的样式,但此逻辑似乎不适用于链接。
先感谢您
使用 将效果添加到所有链接nav:hover a。
使用 nav li a:hover
如评论中所述,您的 HTML 无效。<li>必须是<ul>or 的孩子<ol>。
ul {
padding: 0;
}
li {
list-style: none;
display: inline-block;
}
a {
color: black;
text-decoration: none;
padding: 15px;
opacity: 1;
}
nav:hover a {
opacity: .5;
}
nav li a:hover {
opacity: 1;
}Run Code Online (Sandbox Code Playgroud)
<nav>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</nav>Run Code Online (Sandbox Code Playgroud)