CSS 中的 :is() 和 :where() 是什么?它们是相同的还是不同的?

什么是 :是() 和 :where() 在 CSS 中?它们是相同的还是不同的?

:是() 伪类函数将选择器列表作为其参数,并选择可以由该列表中的选择器之一选择的任何元素。

:is()

以上等价于以下内容,这对于以更紧凑的形式编写大型选择器很有用。

同样的事情可以用 :在哪里() .

CSS 伪类函数 :在哪里() 将选择器列表作为参数,并选择可由该列表中的一个选择器选择的任何元素。

:where()

以上等价于以下,

:where() expand

但是等等,它们看起来都一样。那么有什么区别呢?

不同之处在于 特异性。

在 CSS 中,如果有两个或多个 CSS 规则指向同一个元素,则具有最高特异性值的选择器将“获胜”,其样式声明将应用于该 HTML 元素。

所以基本上,两者都没有 :在哪里() 它里面的任何东西都不是特异性的。其特异性始终为 0。

另一方面,里面的一切 :是() 伪类计算特异性。

那么使用哪一个…………..?

这完全取决于你的目标。您可以使用 :是() 如果要减少选择器重复,则使用伪类。

但是,如果您还想要较低的特异性,那么 :在哪里() 是要走的路!

如果你想编写更简洁的代码,或者你只想每周都有这样的提示,那么你可以在 medium 上关注我将更有可能向你展示下一篇文章。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/37790/42281909

posted @ 2022-09-19 09:42  哈哈哈来了啊啊啊  阅读(39)  评论(0编辑  收藏  举报