我有一个链接列表。当我悬停/专注于其中一个。我想改变没有悬停的链接的样式。
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>
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
}
这通常会改变不同元素的样式,但这种逻辑似乎不适用于链接。
提前谢谢
答案 0 :(得分:3)
使用nav:hover a
将效果添加到所有链接。
使用nav li a:hover
如评论中所述,您的HTML无效。 <li>
必须是<ul>
或<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;
}
&#13;
<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>
&#13;