#码力全开·技术π对#Web技术(Angular/Chrome): Lighthouse检测出CLS(Cumulative Layout Shift)过高?

Lighthouse检测出CLS(Cumulative Layout Shift)过高如何修复?

Chrome
鱼弦CTO
2025-08-08 09:35:01
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
尔等氏人
尔等氏人

## CLS过高问题修复方案

### 1. 问题原因 CLS(Cumulative Layout Shift)衡量页面加载过程中布局偏移的严重程度,主要由以下原因导致:

  • 图片、视频等媒体资源未指定尺寸
  • 动态内容加载导致页面元素位置变化
  • 字体加载延迟导致文本重排
  • 广告或第三方脚本插入内容

### 2. 修复方法

图片和媒体资源优化

<!-- 为所有图片指定明确的宽高 -->
<img src="image.jpg" width="300" height="200" alt="描述">
<video width="640" height="480" src="video.mp4"></video>

预留空间

/* 为动态内容预留空间 */
.ad-container {
  min-height: 250px;
}

字体优化

/* 使用font-display: swap避免字体加载导致的布局偏移 */
@font-face {
  font-family: 'CustomFont';
  src: url('font.woff2') format('woff2');
  font-display: swap;
}

CSS优化

/* 避免在现有内容上方插入元素 */
/* 使用transform替代改变布局的属性 */
.element {
  transform: translateX(100px); /* 而不是margin-left */
}
分享
微博
QQ
微信https://www.51cto.com/aigc/
回复
2025-08-12 09:02:53
发布
相关问题
提问