content-visibility:提升渲染性能的新 CSS 属性

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!

Una Kravets 和 Vladimir Levin

[...] 你可以使用另一个名为 content-visibility 的 CSS 属性来自动应用所需的包含。 content-visibility 确保你获得浏览器可以提供的最大性能提升,而开发人员只需付出最少的努力。

content-visibility 属性接受多个值,但 auto 是提供立即性能改进的值。

性能提升似乎相当大

在我们的示例中,我们看到渲染时间从 232 毫秒 提升到 30 毫秒 。 这是一个 7 倍 的性能提升。

但这需要手动操作。 你必须自己将页面较大的垂直块“分段”,对其应用 content-visibility: auto;,然后估计一下它们的高度,例如 contain-intrinsic-size: 1000px;。 这部分对我来说非常奇怪。 只是猜测一个高度? 如果我错了怎么办? 会损害性能吗? 如果小屏幕和大屏幕之间的高度差异很大,我是否可以(或应该)在不同的视口中更改该值?

似乎你必须成为一个非常熟练的性能专家才能正确使用它,并知道如何在 DevTools 中查看和比较渲染配置文件。 这更证明了 Web 性能本身就是一项职业。