标准答案

  1. CLS 衡量页面生命周期中意外布局偏移的累计影响。
  2. 排查时可以用 Lighthouse、Performance 面板和 Web Vitals 标记找到发生偏移的元素。
  3. 图片、视频和 iframe 应该设置 width/height 或 aspect-ratio,避免加载后撑开布局。
  4. 广告、推荐位、提示条等异步内容要预留空间,不能突然插入到已有内容上方。
  5. 动画应优先使用 transform,不要用会影响布局的 top、height、margin 做高频动画。

题目解析

这题要把指标和具体 CSS 写法联系起来。布局偏移通常来自首屏尺寸不稳定。

排查时不要只看最终页面,要看加载过程中哪些元素位置突然变化。

代码示例

aspect-ratio 可以在图片加载前稳定占位。

CSS
.hero-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

常见误区

  • 只压缩图片体积,却没有给图片预留尺寸。
  • 异步插入顶部横幅,导致正文整体下移。
  • 用 margin 或 height 做展开动画,造成明显布局偏移。

作者信息