一般 hover 效果只用在自身元素和控制子元素,那么可以直接用 CSS 控制兄弟元素的 hover 效果吗?
答案是可以的,不过只能控制相邻的元素,具体示例代码如下:
1、如果 #b 元素是 #a 元素的子元素,可以直接通过 #a:hover #b {...} 这种方式来控制。
示例代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>纯CSS控制同级元素</title>
<style>
div{line-height: 30px}
#a:hover #b{
color: #FF4B4B;
}
</style>
</head>
<body>
<div id='a'>元素a,移动到我可以控制元素b
<div id='b'>元素b</div>
</div>
</body>
</html>2、#b 与 #c 是亲兄弟关系,有相同的父节点,且 #b 跟 #c 相邻,可以通过 #b:hover + #c{...} 来控制 #c 的样式。
当鼠标移到 #b 时,#c 的样式就会改变。
示例代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>纯CSS控制同级元素</title>
<style>
#b:hover + #c{color : red;}
</style>
</head>
<body>
<div id='b'>元素b,移动到我可以控制元素c</div>
<div id='c'>元素c</div>
</div>
</body>
</html>