什么是 Chrome 开发者工具 performance 面板 Experience 里的 Layout shift

简介: 什么是 Chrome 开发者工具 performance 面板 Experience 里的 Layout shift

Chrome 开发者工具 performance 面板 Experience 中的 Layout shift(布局位移)是指在页面加载过程中元素的位置发生了意外的变化,这种变化可能会导致用户的不良体验,例如元素突然移动导致用户误点击其他链接或按钮。


Layout shift 主要由于以下原因引起:

  • 图片或其他资源的加载导致页面布局发生变化;
  • 元素尺寸或字体加载延迟,导致渲染时出现了布局变化;
  • 动态添加的内容导致页面布局发生变化。


Layout shift 可以通过在页面加载过程中保持元素尺寸的一致性和使用占位符来减少。在 Chrome 开发者工具中,可以使用 Performance 面板的 Experience 选项卡来检查页面中的 Layout shift 情况,并查看与其相关的性能指标如 Cumulative Layout Shift (CLS) 等。


86879dda4bf6ee323f9fa1abd660643c_6a4512090db860e9ce05c75a738d5813.png


d1f3f7202dc0c8110dba67d82372e5fd_25f09c36c0b7fa484f56a218dc9d8b66.png

什么是 Cumulative Layout Shift ?


Cumulative Layout Shift (CLS) 是衡量页面稳定性的一个指标,用于衡量页面在加载过程中出现的所有布局位移的累积值。CLS 值越小,表示页面加载过程中的布局位移越少,用户体验越好。


CLS 值的计算方法是在整个页面生命周期内监测所有的布局位移,并将位移的面积乘以位移的时间,然后将所有的位移面积乘以位移时间之和累加起来,最终得到一个总的 CLS 值。


在实际开发中,可以通过以下方式来减少页面的 CLS 值:


  • 在页面加载过程中,尽可能保持元素的尺寸和位置不变;
  • 在图片和其他资源加载之前,使用占位符来预留元素的位置;
  • 避免动态添加内容,尽可能将所有的内容都包含在 HTML 中;
  • 避免使用定位和动画等可能导致布局位移的 CSS 属性。


在 Chrome 开发者工具的 Performance 面板中,可以通过查看 Experience 选项卡来查看页面的 CLS 值,进而优化页面的稳定性。


相关文章
|
16天前
|
Web App开发 存储 前端开发
深入探索Chrome开发者工具:开发者的利器
Chrome DevTools是Chrome浏览器内置的网页开发与调试神器,包含元素检查、网络请求分析、性能监控和JavaScript调试等功能。可通过快捷键F12或菜单打开。主要面板有:Elements(查看编辑HTML/CSS),Console(运行JS代码及查看日志),Network(分析网络请求),Performance(优化网页性能)和Application(管理应用数据)。高级功能包括断点调试、网络限速和屏幕模拟,助力高效开发和调试。
22 0
|
1月前
|
Web App开发 前端开发 JavaScript
关于 Angular template 文件在 Chrome 开发者工具调试器里的断点问题
关于 Angular template 文件在 Chrome 开发者工具调试器里的断点问题
|
1月前
|
Web App开发 缓存 JavaScript
Chrome 开发者工具 Request content was evicted from inspector cache
Chrome 开发者工具 Request content was evicted from inspector cache
|
1月前
|
Web App开发 前端开发 JavaScript
在 Chrome 开发者工具里配置哪些类型的 JavaScript 文件应该被调试器忽略
在 Chrome 开发者工具里配置哪些类型的 JavaScript 文件应该被调试器忽略
|
1月前
|
Web App开发 前端开发 JavaScript
Chrome 开发者工具的 sources 面板中的 Show ignore-listed frames 开关
Chrome 开发者工具的 sources 面板中的 Show ignore-listed frames 开关
|
1月前
|
Web App开发
在 HTML 中禁用 Chrome 浏览器的 Google 翻译功能
在 html 标签中添加 translate=“no” 属性,浏览器将不会翻译整个页面。
97 0
|
1月前
|
Web App开发 JavaScript 前端开发
从零开始,轻松打造个人化Chrome浏览器插件
从零开始,轻松打造个人化Chrome浏览器插件
106 0
|
1月前
|
Web App开发 JavaScript
Vue 项目中使用 debugger 在 chrome 谷歌浏览器中失效以及 console.log 指向去了 vue.js 代码
Vue 项目中使用 debugger 在 chrome 谷歌浏览器中失效以及 console.log 指向去了 vue.js 代码
446 0
|
1月前
|
Web App开发 前端开发
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
181 0
|
1月前
|
Web App开发 前端开发 搜索推荐
Chrome 浏览器中的一个隐藏设置页面
Chrome 浏览器中的一个隐藏设置页面