在CSS中是否可以选择一个元素的父元素?如何实现
发布时间:2023-09-06 13:54:10 所属栏目:语言 来源:
导读:这篇文章主要讲解了“CSS中能通过子元素选父元素吗,怎么做”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS中能通过子元素选父元素吗,怎么做
这篇文章主要讲解了“CSS中能通过子元素选父元素吗,怎么做”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS中能通过子元素选父元素吗,怎么做”吧! 通常一个CSS选择器都是从上往下选择的,通过父元素选择子元素,那么能不能通过子元素选择父元素呢? <ul> <li> <a href="#" class="active">1</a> </li> <li> <a href="#">2</a> </li> </ul> 如果我想选择包含 a.active 的 li 该怎么实现呢? 目前我们学到的CSS好像是没有办法的,不过今天要将的一个CSS伪类 :has() 就有这个功能,虽然还处于草案阶段,但是还是可以提前了解一下。 li:has(> a.active){ color:red; } 除了表示包含,:has 还可以表示兄弟跟随关系 div:has(+ p){ color:red; } 表示选择 <div> 标签,前提是这个div标签必须是被一个<p>紧跟着的。此外还可以与:not 一起使用 article:not(:has(a)){ color:red; } 表示不包含 <a> 的 <article>标签。注意这里 :not 和 :has 的先后顺序,不同顺序代表不同的意思 article:has(:not(a)){ color:red; } 表示包含非 <a> 的 <article>标签 其实我们前面讲过的 :focus-within 也是一个通过子元素选择父元素的伪类,只不过条件只能是子元素是否获取焦点, 而 :has 则更灵活和强大。 form:focus-within{ background-color:black; } 如果通过 :has 实现的话, 可以这样写 form:has(:focus){ background-color:black; } (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐