CSS中能通过子元素选父元素吗,怎么做
Admin 2022-05-24 群英技术资讯 2828 次浏览
通常一个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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了2分钟教你实现环形/扇形菜单(基础版),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
今天给大家分享做用css实现进度条的内容,比较简单的进度条有横向和竖向的进度条,本文就主要了解这两种简单的进度条的实现,一些朋友对两种进度条实现的区别比较好奇,下面我们就通过两个示例来了解看看。
这篇文章主要介绍了AmazeUI 加载进度条的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
<html:link>标签用于生成HTML<a>元素。<html:link>在创建超链接时,有两个优点:(1)允许在URL中以多种方式包含请求参数。(2)当用户浏览器关闭Cookie时,会自动重写URL,把SessionID作为请求参数包含在URL中,用于跟踪用户的Session状态。<html:link>标签有以下重要属性
本文给大家分享float和margin结合使用实现各种布局的内容,下文有具体的实现多种布局的代码供大家参考,对新手学习CSS布局有一定的帮助,需要的朋友可以了解看看,接下来我们一起来学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008