tk挠痒痒网址发布页-秘密武器
历史搜索

2021年你可能忽略的10个CSS新功能

游客2025-05-16 06:14:01
目录文章目录
  1. CSS 的新功能:现代 CSS 可以做什么
  2. @supports
  3. Flexbox Gaps
  4. content-visibility
  5. Transitions, Transforms, Animations
  6. 滚动捕捉
  7. :is 和 :where
  8. 还有其他值得一看的 CSS 新功能吗?

多年来,CSS 已经超越了背景颜色、边框、文本样式、边距和盒模型。现代 CSS 能够提供一系列的功能,而在过去,您需要 JavaScript 或变通方法来实现这些功能。

为了庆祝它在 2021 年取得的成就,在这篇文章中,我们想看看一些你可能不知道的令人惊叹的 CSS 新特性。我们将强调 web 设计人员和开发人员可以用现代 CSS 做的很酷的事情,讨论用例,浏览器支持,并给你一个快速的例子。

CSS 的新功能:现代 CSS 可以做什么

这是 CSS 如今具备的一些令人惊奇的功能

自定义属性/变量

自定义属性基本上允许你在一个集中的地方定义 CSS 属性的替身,以用于你的设计。要理解为什么这很有用,最好的方法就是去看一个例子。

通常,在构建一个主题时,你会选择一个配色方案,然后每次都要声明这些颜色。

a {
    color: #cd2653;
}

.social-icons a {
    background: #cd2653;
}

.wp-block-button.is-style-outline {
    color: #cd2653;
}

这种方法的问题是,如果你想对其中一种颜色进行更改,你必须更改它的每一个实例。虽然代码编辑器可以通过搜索和替换轻松做到这一点,但这仍然很烦人。特别是当你只是想做一个快速的测试,而又要把所有的东西反过来的时候。

有更好的解决方案

自定义属性可以解决这个问题。在它们的帮助下,你可以将有关颜色指定给一个变量一次,然后每次使用时只需将该变量作为 CSS 属性输入即可,就像这样:

:root {
    --global--color-primary: #28303d;
}

a {
    color: var(--global--color-primary);
}

.social-icons a {
    background: var(--global--color-primary);
}

这样,当您要进行更改时,只需要在一个地方进行更改即可。酷吧?过去,你需要采用 SASS 这样的预处理程序来使用变量,现在它是 CSS 的一个原生功能。

正如您在上面看到的,自定义属性也非常易于使用。在文档开头的 :root 选择器下定义你的变量(注意双连字符 -- 在变量前面,这就是将它们定义为自定义属性的原因,而且它们是区分大小写的!)。之后,你可以通过 var() 函数在整个文档中使用它们。

如果你想改变一个变量,只需改变 :root 下的声明就可以了。

至于此 CSS 功能的采用程度如何,浏览器支持非常好:

2021年你可能忽略的10个CSS新功能 1

然而,请注意,所有可用的滚动捕捉属性的支持有点不均衡。因此,请务必检查您的特定用例。

:is 和 :where

在我们的新 CSS 特性列表中,你可能不知道的最后一个条目是 :is:where 伪类。它们允许你通过缩短 CSS 选择器的列表来减少 CSS 标记的重复。

例如,比较一下:

.main a:hover,
.sidebar a:hover,
.site-footer a:hover {
	/* markup goes here */
}

对此:

:is(.main, .sidebar, .site-footer) a:hover {
	/* markup goes here */
}

相同的东西适用于 :where

:where(.main, .sidebar, .site-footer) a:hover {
	/* markup goes here */
}

如果标记是一样的,有什么区别呢?不同的是 :is 更具体。它取括号中最特殊的元素的特殊性程度。相比之下,:where 的特异性永远是零。因此,再往下覆盖就容易多了。

浏览器的应用还有点不稳定,但慢慢就会有了。所以,请随意开始尝试。

还有其他值得一看的 CSS 新功能吗?

像所有其他的 Web 技术一样,CSS 标记也在不断发展。这意味着,总是有新的 CSS 功能可以发现,有新的东西可以尝试和试验。

上面,我们已经看了一些 CSS 如今已经能够做到的事情的例子,你可能会忽略。

你最喜欢现代 CSS 的什么功能?在下面的评论区分享吧!

本文是由用户"游客"发布,所有内容的版权归原作者所有。没有经过书面许可,任何单位或个人不得以任何形式复制、转载、引用本网站的内容。否则将追究法律责任。

相关专题