CSS 视觉 - :is/:matches/:any 选择器

本贴最后更新于 1606 天前,其中的信息可能已经时异事殊

2019-11-25

描述

:is 将选择器列表作为参数,可以选中该列表中的与之匹配的任何元素。这样紧凑的写法对有含有很多选择器的样式非常有用。

HTML

<header>
  <p>This is my header paragraph</p>
</header>
<main>
  <ul>
    <li><p>This is my first</p><p>list item</p></li>
  </ul>
</main>
<footer>
  <p>This is my footer paragraph</p>
</footer>

CSS

:-webkit-any(header, main, footer) p:hover {
  color: red;
  cursor: pointer;
}

:-moz-any(header, main, footer) p:hover {
  color: red;
  cursor: pointer;
}

:matches(header, main, footer) p:hover {
  color: red;
  cursor: pointer;
}

:is(header, main, footer) p:hover {
  color: red;
  cursor: pointer;
}

Demo

说明

  • 当前浏览器,包含旧版本的 Chrome,Firefox 和 Safari 使用 :matches 或更早的带有前缀的伪类 :any 对该功能进行支持
  • :any 除了需要前缀和不支持复杂的选择器外,和 :matches / :is 有着相同的同作方式
  • :matchesCSSWG issue #3258 中被重命名为 :is

浏览器支持

  • :is 支持率:57.32%
  • :any 支持率:90.06%
  • :matches 支持率:93.66%(需前缀)

返回总目录

每天 30 秒系列之 CSS

  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 2 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    180 引用 • 447 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
Vanessa
我们终此一生,就是要摆脱他人的期待,找到真正的自己。 昆明