新的 CSS 伪类函数 :is() 和 :where()

AI 概述
在编写 CSS 时,有时可能会使用很长的选择器列表来定位具有相同样式规则的多个元素。例如,如果您想对标题中的 <b> 标签进行颜色调整,我们应该都写过这样的代码: h1 > b, h2 > b, h3 > b, h4 > b, h5 > b, h6 > b { color: hotpink; } 现在,我们可以使用 :is() 缩减代码并提高其可读性:...

在编写 CSS 时,有时可能会使用很长的选择器列表来定位具有相同样式规则的多个元素。例如,如果您想对标题中的 <b> 标签进行颜色调整,我们应该都写过这样的代码:

h1 > b, h2 > b, h3 > b, h4 > b, h5 > b, h6 > b {
  color: hotpink;
}

现在,我们可以使用 :is() 缩减代码并提高其可读性:

:is(h1,h2,h3,h4,h5,h6) > b {
  color: hotpink;
}

浏览器兼容性

:is():match() 改名而来,部分浏览器有其私有的 :any() 实现 :is() 的部分功能,在使用 :is() 之前,我们应该先了解其兼容性:

浏览器兼容性

:is() 和 :where()

:is() 作为一个伪类函数,其接收选择器列表作为参数,并选择该列表中任意一个选择器可以选择的元素,:where() 伪类函数与其功能相同,仅仅选择器权重不同,下面是几个例子:

/* at the beginning */
:where(h1,h2,h3,h4,h5,h6) > b {
  color: hotpink;
}

/* in the middle */
article :is(header,footer) > p {
  color: gray;
}

/* at the end */
.dark-theme :where(button,a) {
  color: rebeccapurple;
}

/* multiple */
:is(.dark-theme, .dim-theme) :where(button,a) {
  color: rebeccapurple;
}

/* stacked */
:is(h1,h2):where(.hero,.subtitle) {
  text-transform: uppercase;
}

/* nested */
.hero:is(h1,h2,:is(.header,.boldest)) {
  font-weight: 900;
}

最后,用一张图来理解 :is():

图来理解 :is()

作者:link

文章来源:JavaScript 公众号

以上关于新的 CSS 伪类函数 :is() 和 :where()的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 新的 CSS 伪类函数 :is() 和 :where()

发表回复