Chrome 137 中的新变化

发布时间:2025 年 5 月 27 日

Chrome 137 现已发布,本文将分享该版本的一些主要功能。阅读完整的 Chrome 137 版本说明

此版本的亮点:

使用 reading-flowreading-order 可确保在复杂布局中实现合理的标签页顺序。CSS if() 函数提供了一种简洁的方式来表达条件值。借助 JavaScript Promise 集成 (JSPI),WebAssembly 应用可以与 JavaScript promise 集成。

CSS reading-flowreading-order

reading-flow CSS 属性用于控制 Flex、网格或块布局中的元素向无障碍功能工具公开的顺序,以及使用线性顺序导航方法将焦点移至这些元素的方式。这解决了网格布局和 Flex 布局的一项长期存在的问题,即标签页顺序可能会与项的排列顺序脱节。

它接受一个关键字值,默认值为 normal,用于保持按 DOM 顺序排列元素的行为。如需在 flex 容器中使用它,请将其值设置为 flex-visualflex-flow。如需在网格容器中使用它,请将其值设为 grid-rowsgrid-columnsgrid-order

借助 reading-order CSS 属性,您可以手动替换阅读流容器中项的顺序。如需在网格、Flex 或块容器中使用此属性,请将容器上的 reading-flow 值设置为 source-order,并将各个项的 reading-order 设置为整数值。

如需了解详情,请参阅使用 CSS reading-flow 实现逻辑顺序的焦点导航

CSS if() 函数

CSS if() 函数提供了一种简洁的方式来表达条件值。它接受一系列以分号分隔的条件-值对。该函数会依序评估每个条件,并返回与第一个为 true 的条件关联的值。如果所有条件的计算结果均为 false,则该函数会返回一个空令牌流。

div {
  color: var(--color);
  background-color: if(style(--color: white): black; else: white);
}

.dark {
  --color: black;
}

.light {
  --color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>

WebAssembly JavaScript Promise 集成 (JSPI)

JavaScript Promise 集成 (JSPI) 是一个 API,可让 WebAssembly 应用与 JavaScript promise 集成。

它允许 WebAssembly 程序充当 Promise 的生成器,并允许 WebAssembly 程序与具有 Promise 的 API 进行交互。

具体而言,当应用使用 JSPI 调用具有 Promise 的 (JavaScript) API 时,WebAssembly 代码会被挂起;并且 WebAssembly 程序的原始调用方会收到一个 Promise,该 Promise 将在 WebAssembly 程序最终完成时得到执行。

等等!

当然,还有许多其他功能:

  • 作为存储分区的延续,Chrome 实现了按存储键对 Blob 网址访问进行分区。
  • 现在,已实现画布浮点像素格式。
  • 支持 offset-path: shape(),因此您可以使用自适应形状来设置动画路径。

深入阅读

本文仅介绍了一些主要亮点。如需了解 Chrome 137 中的其他变更,请参阅以下链接。

订阅

如需及时了解最新动态,请订阅 Chrome 开发者 YouTube 频道,这样每当我们发布新视频时,您就会收到电子邮件通知。或者,在 X 或 LinkedIn 上关注我们,了解新文章和博文。

一旦 Chrome 138 发布,我们会立即在此处告知您 Chrome 中的新变化!