问题描述
.title:hover ~ .intro a {color:red;}
.title a:hover,.intro a:hover{color:red;}
<div class="gri">
<p>don't change me</p>
<div class="title">
<h3><a href="http://google.com">title</a></h3>
</div>
<h2>don't change me</h2>
<div class="intro">
<a href="http://google.com" class="excerpt">intro text blah blah</a>
</div>
</div>
仅使用 CSS 而不更改 HTML 代码,我如何才能达到以下目标:
将鼠标悬停在“标题”上会导致标题变为红色并且介绍也变为红色。介绍也一样(将鼠标悬停在介绍上,介绍和标题变为红色)。
有什么建议吗? 我已经尝试过不同的 CSS 组合,但无济于事。
谢谢
大卫
解决方法
根据https://www.w3schools.com/css/css_combinators.asp
- 定位相邻的兄弟选择器 ~ 用于一般兄弟选择器
然而,相邻意味着“立即跟随”,there's no equivalent for previous sibling。因此,您不能使用纯 CSS 来做到这一点。
在这种情况下,您需要使用 javascript,或者重构 HTML 的结构方式。