CSS中能通过子元素选父元素吗,怎么做
Admin 2022-05-24 群英技术资讯 3039 次浏览
通常一个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; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在开发中,有些需要需要我们给图片加遮罩层,例如鼠标移至图片有遮罩层效果且有删除,添加,更改等操作,那么这一效果要如何实现呢?下面小编就给大家分享如何利用css给图片加遮罩层的代码。
这篇文章主要介绍了css 透明边框background-clip妙用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了Canvas三种动态画圆实现方法说明,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
css中hack的介绍:为了达到统一的页面效果,需要为不同的浏览器或者不同版本编写CSS样式。将这个程序写成对应于不同浏览器/不同版本的CSScode,称为CSShack。
这篇文章主要介绍了AmazeUI 折叠面板的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008