css-利用content-visibility优化页面的渲染性能

342 阅读1分钟

content-visibility目前是一个实验性的属性,不过用来渐进式的优化渲染性能也是不错的,当然如果我们要在生产环境使用,还是要采用成熟的虚拟列表方案

content-visibility取值

visible 元素照常布局渲染

hidden 跳过其内容的渲染,类似设置display: none

auto 元素不可见时跳过其渲染

长列表优化

1、为列表的每一行增加content-visibility: auto;,则屏幕外的元素会跳过其内容渲染

2、为列表的每一行增加contain-intrinsic-size: 300px;,解决滚动条抖动问题

3、即便设置content-visibility: auto;,跳过渲染的元素内如果有图片,图片依然会加载,所以需要为图片设置属性loading="lazy",该属性是图片懒加载的原生实现

示例连接

未优化长列表 assets.codepen.io/10903102/%E…

优化后长列表 assets.codepen.io/10903102/%E…