千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 使用CSS查找父元素

使用CSS查找父元素

来源:千锋教育
发布人:syq
时间: 2022-09-21 14:45:01 1663742701

  CSS ': 添加了一个自定义逻辑,以基于其他选择器(而不是其自己的选择器)查找元素。has'

  我不得不承认,最强大的机器之一是CSS引擎,但有时很难只使用CSS来做某些事情,即使只是为了改变一些颜色。例如,如果我要求你从CSS中的子元素中找到一个父元素,通常你会被卡住。

使用CSS查找父元素

  CSS是以某种方式设计的,给定一个元素,你可以指定其子级的视觉属性。因此,它或多或少是从自上而下的方法设计的,就像HTML DOM树一样。首先从元素作为根开始,然后通过选择器深入挖掘其分支和叶子。

  脚本

  我是一名JavaScript开发人员,所以过去当这些问题出现时,我只需要写几行JS代码,例如:

  Document.getElementById('root')

  有时版本更复杂,但或多或少我可以找到元素,即使它在其中一个DOM分支中很远。这里没有什么新鲜事,我们已经这样做了将近二十年。但坦率地说,JavaScript很重。如果我不必这样做,我尽量不要在JavaScript中这样做。没错,我是一名JavaScript开发人员,但现在我把CSS作为我解决UI问题的第一个工具,仅仅是因为它更便宜。

  断续器

  信不信由你,CSS每天都在添加新功能。我们觉得它变化很快的原因是没有人跟踪CSS规范,更不用说所有这些浏览器兼容性了。似乎为我们打开了与父节点相关的大门的功能之一称为 。如果您还不知道视频,可以观看。我会等你回来的。:has

  我们不是直接找到一个元素,而是通过询问它是否具有或包含另一个选择器来查找它。让我们回顾一下选择器:

  a img {}

  上面的选择器要求内部.这很容易,但这也是为什么我们找不到父母的原因,因为我们对不感兴趣,好吧,我们真正想做的是:imgaimg

  a:has(img) {}

  啊,如果包含一个,那么这就是我们想要找到的。就是这样?你可能会说。是的,这真的使不可能成为可能。aimga

  正文:有()

  很多时候,当我制作一个网站时,我想在弹出一个模态时改变风格。现在在我看来,我只需要执行以下操作:body

15

  一行代码?让我们尝试使用JavaScript完成上述操作,祝您好运。此外,如果您可以在前端框架中将JavaScript版本与少于五行代码集成。

  所以现在的问题不再是找到父级,而是改变它以找到具有某些东西的节点。在某种程度上,这为需要找到一个遥远的元素的问题提供了另一条途径。最重要的是,我们可以立即对发现的元素进行操作。

  CSS 添加了一个自定义逻辑,用于基于其他选择器(而不是自己的选择器)查找元素。这将使从现在开始找到父节点的不可能的任务成为可能。:has

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT