小心使用 will-change

Avatar of Chris Coyier
Chris Coyier

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

will-change 属性 背后的理念是,不再使用诸如 transform: translateZ(0) 这样的黑客方法来告诉浏览器在哪里进行优化,而是将其标准化。 典型的、 可以理解的抱怨 是,这会使 CSS 变得复杂。 浏览器难道不应该足够智能,能够自行进行这些优化,而不是将责任留给开发者吗? 浏览器对此的回应是:从启发式角度确定这些事情几乎是不可能的。 这类似于响应式图像中的 sizes 属性——直接告诉浏览器,可以让它更早地根据该信息采取行动。 浏览器还表示,这不是 CSS 变得更加复杂, 而是网页变得更加复杂。 另一个抱怨是, 建议的做法 是使用 JavaScript 按照需要应用和移除 will-change,这要求太高了。

所有这些铺垫都是为了链接到 Thierry Koblentz 的文章,他在文中警告说,will-change 会创建新的堆叠上下文,这可能是意想不到的,并会导致跨浏览器差异。

直接链接 →