[CSS] :has()
Brwoser support: https://caniuse.com/?search=%3Ahas
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div:has(p) {
border: 1px black solid;
}
</style>
</head>
<body>
<h2>:has() (选择父元素伪类)</h2>
<div>
<p>ppppppppp</p>
</div>
<div>
<span>span</span>
</div>
</body>
</html>
Use case:
For example, we have following html structure:
<body>
<h2>:has() (选择父元素伪类)</h2>
<div>
<p>ppppppppp</p>
</div>
</body>
We want when mouse hover on p
tag then div
should have a red background:
<style>
div {
border: 1px black solid;
}
div:has(p:hover) {
background-color: red;
}
p {
margin: 50px;
}
</style>