2025年十大CSS新特性:已在所有主流浏览器中支持

开发 前端
得益于2024年浏览器的最新进展,许多新特性已经在所有主流浏览器引擎中得到了支持。以下是十大亮点,可以立即开始使用它们。

CSS随着新功能的不断推出,在加快开发速度、简化代码和增强功能性方面发挥着越来越大的作用。得益于2024年浏览器的最新进展,许多新特性已经在所有主流浏览器引擎中得到了支持。以下是十大亮点,可以立即开始使用它们。

1. Scrollbar-Gutter 和 Scrollbar-Color

当浏览器显示滚动条时,布局可能会因为滚动条的出现而发生偏移。使用 scrollbar-gutter,可以在开始滚动之前就保留滚动条空间,从而避免这种布局变化:

.scrollable {
  scrollbar-gutter: stable both-edges;
}
  • 1.
  • 2.
  • 3.

还可以使用 scrollbar-color 来美化滚动条:

.scrollable {
  scrollbar-color: #444 #ccc;
}
  • 1.
  • 2.
  • 3.

这可以确保布局稳定,并防止滚动条出现时的跳动。

适用场景 :

  • scrollbar-gutter 保证布局稳定,通过提前保留滚动条空间,避免滚动条出现时造成的布局跳动。
  • scrollbar-color 让我肌能够定制滚动条的轨道和拇指,增强设计一致性,尤其是在暗色或主题UI中。

2. ::target-text

::target-text 用于高亮显示通过内部链接(例如点击页面上的锚点)到达的文本:

::target-text {
  background: yellow;
  color: black;
}
  • 1.
  • 2.
  • 3.
  • 4.

这让用户立刻看到他们所导航到的文本部分。

适用场景 :

  • 高亮显示通过链接锚点定位的具体文本,让用户在浏览长文档或文章时,立即清晰地看到自己所在位置。

3. Ruby布局(ruby-align 和 ruby-position)

对于某些语言和注释,ruby-align 和 ruby-position 非常重要。它们允许你控制短注释(ruby文本)相对于主文本的位置:

ruby {
  ruby-align: center;
  ruby-position: over;
}
  • 1.
  • 2.
  • 3.
  • 4.

适用场景 :

  • 对于东亚语言排版,允许精确控制小注释(ruby文本)的位置,如位于主文本的上方或旁边。
  • 对于教育或参考资料中的行内注释也非常有用。

4. 相对色语法与 light-dark()

CSS中的现代颜色处理包括相对色语法,可以基于现有颜色调整亮度或饱和度。另外,light-dark() 使得在亮色和暗色值之间轻松切换成为可能:

.element {
  background: light-dark(#ffffff, #000000);
}
  • 1.
  • 2.
  • 3.

还可以使用 <color-interpolation-method> 创建更平滑的渐变效果。

适用场景 :

  • 相对色语法让您能够根据参考颜色动态调整属性,如亮度或饱和度。
  • light-dark() 简化了在亮色和暗色之间切换的过程,适用于主题或暗黑模式。

5. 独占手风琴

通常手风琴组件需要JavaScript来确保每次只有一个面板是打开的,但是 HTML 中的 <details> 元素可以让这一过程更加简化。以下是一个保持面板互斥的简短示例:

<details name="exclusive">
  <summary>Details</summary>
  Something small enough to escape casual notice.
</details>
  • 1.
  • 2.
  • 3.
  • 4.
details {
  border: 1px solid #aaa;
  border-radius: 4px;
  padding: 0.5em 0.5em 0;
}

summary {
  font-weight: bold;
  margin: -0.5em -0.5em 0;
  padding: 0.5em;
}

details[open] {
  padding: 0.5em;
}

details[open] summary {
  border-bottom: 1px solid #aaa;
  margin-bottom: 0.5em;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

适用场景 :

  • 无需复杂的JavaScript逻辑,即可一次性显示一个面板。
  • 非常适合FAQ、菜单或任何场景,其中只应打开一个细节面板。

6. content-visibility

content-visibility 跳过屏幕外元素的渲染,直到它们滚动到视野中:

.lazy-load-section {
  content-visibility: auto;
}
  • 1.
  • 2.
  • 3.

这减少了初始渲染的开销,提升了长页面的性能。

适用场景 

  • 推迟渲染屏幕外的元素,提升长页面或复杂布局的性能。
  • 提升加载速度,并减少内存占用,尤其是在移动设备上。

7. font-size-adjust

当自定义字体不可用时,浏览器会回退到其他字体,通常会破坏布局。font-size-adjust 有助于保持文本大小和可读性的一致性:

.text {
  font-family: "CustomFont", Arial, sans-serif;
  font-size-adjust: 0.5;
}
  • 1.
  • 2.
  • 3.
  • 4.

这保持了回退字体的 x-height 和可读性一致。

适用场景 :

  • 当自定义字体不可用或加载缓慢时,保持一致的文本外观。
  • 通过匹配回退字体的 x-height 来确保可读性和设计一致性。

8. transition-behavior

虽然 transition-timing-function 为我们提供了过渡控制,但 transition-behavior 引入了更多的控制,允许您在没有复杂 JavaScript 的情况下反转或暂停过渡。这为平滑的UI交互和更复杂的动画场景铺平了道路。

.card {
  transition-property: opacity, display;
  transition-duration: 0.25s;
  transition-behavior: allow-discrete;
}

.card.fade-out {
  opacity: 0;
  display: none;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

适用场景 :

  • 扩展基础过渡,允许可逆或更复杂的过渡,而无需繁琐的脚本。
  • 适用于精细的UI效果、互动组件和独特的动画场景。

9. CSS @property 和阶梯值函数

@property 使您能够声明带有预定义语法、继承规则和初始值的自定义属性:

@property --animation-progress {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

您还可以使用新的阶梯值函数如 round()mod() 和 rem() 直接在CSS中进行计算,消除了许多JavaScript或预处理器的使用。

适用场景 :

  • @property 使自定义属性成为完全声明的变量,具有类型、默认值和继承规则。
  • round()mod() 和 rem() 等函数让在CSS中进行简单数学计算变得更加直接,减少了对预处理器或JavaScript的依赖。

10. offset-position 和 offset-path

对于更复杂的运动设计,offset-position 和 offset-path 使您可以在没有复杂JavaScript框架的情况下,沿自定义路径对元素进行动画:

.move {
  offset-path: path("M10,80 Q95,10 180,80");
  offset-position: 0%;
  transition: offset-position 2s ease;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

借助这些属性,您可以通过SVG路径或简单的曲线创建精致的动画效果。

适用场景 :

  • 纯CSS的路径动画和运动。
  • 非常适合互动元素、运动图形或引导用户注意力沿曲线路径移动。

结论

这些新特性已经在所有主流浏览器中得到支持,它们减少了许多JavaScript的工作绕道,让您能够构建更加简洁、高效、易维护的布局和交互。赶快试试它们,看看如何让您的项目提升到一个新的效率和优雅水平。享受实验的乐趣吧!

责任编辑:姜华 来源: 大迁世界
相关推荐

2015-10-22 13:17:27

Let's EncryHTTPS浏览器

2023-09-05 09:40:55

SCSS预处理器

2023-09-05 09:44:26

CSS处理器函数

2020-08-05 08:27:38

CSS Firefox浏览器

2025-04-10 04:56:47

2023-11-16 08:55:14

CSS前端

2010-08-19 15:47:34

CSS Reset浏览器

2024-11-01 08:07:25

2014-12-03 10:21:50

HTML5

2025-04-16 07:14:57

2010-03-04 09:10:30

2009-09-17 09:24:55

Google Chro浏览器

2012-06-08 15:52:09

Chrome浏览器插件

2025-02-26 08:00:00

DevOps开发自动化

2025-02-27 00:14:52

2010-08-02 14:23:56

FlexBuilder

2023-03-01 00:06:14

JavaScrip框架CSS

2012-10-17 11:59:12

2010-03-05 14:43:22

Android浏览器

2025-03-12 08:00:00

无密码认证工具MFA身份验证
点赞
收藏

51CTO技术栈公众号