css选择器?

如何选择含有某个特定类 a 的子元素的父元素的兄弟元素
也就是如何选出class为b的标签,且此时class为parent的标签的子元素的类必须为a

<div class="parent">
  <div class="a"></div>
</div>
<div class="b"></div>
阅读 1.6k
1 个回答

CSS选择器不能反向选择,只能向下或者向后选择, 也就说不能选择 .a 元素的父级元素。
只能说选择 .parent 元素是否有 .a. 的后代,去选择 .b 元素。

那也就是说需要这样去书写CSS样式:

.parent:has(.a) + .b {
  color: red;
}
// 或者
.parent:has(.a) ~ .b {
  color: red;
}

image.png

如果说 .a 必须是直接子元素那么就可以这样写 .parent:has(> .a) + .b {...}

只是 :has() 在老版本的浏览器下有兼容性问题 👉 ":has()" | Can I use)
image.png

相关阅读
来了,来了,CSS :has()伪类她来了 « 张鑫旭-鑫空间-鑫生活

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题