两行CSS 提升渲染性能7倍

简介: 两行CSS 提升渲染性能7倍

两行css代码,添加了以后页面渲染性能将提高大约7倍,代码如下

{
  content-visibility: auto;
  contain-intrinsic-size: 1px 5000px;
}

为什么需要这个?

现在的网站需要优化和高性能,因为用户的注意力很短暂。阈值响应时间为400毫秒。

假如Facebook、Instagram这样的网站登录时间大于阈值会怎么样?那么大概没人会再回到这些网站了。

哪些场景适合使用?

最常见的用例是当你需要在页面加载时呈现大量数据列表、数据表格或者图片列表的时候。

例如像文档、说明书这样的静态网站,或旅游博客等......

如何工作?

当你对CSS类应用content-visibility: auto时,浏览器就会变得非常聪明,它可以跳过渲染带有这个CSS属性的DOM元素。

浏览器需要知道DOM的布局才能渲染,且不会渲染那些不在视窗中的元素,而实际上你提供的contain-intrinsic-size会产生一个空框。

总而言之,所有渲染都被推迟到浏览器使用你提供的宽度、高度和样式渲染实际布局的视窗。

P.S:不在视窗之外的布局会有一个height: 0,所以当延迟布局来到视窗时,会堆叠在一起,所以这就是为什么需要contain-intrinsic-size的原因。但是,不用担心,这些只是备用值,浏览器在视窗中渲染时将渲染实际值。

这样做的一个缺点是,如果未正确给出contain-intrinsic-size,滚动条会很古怪并出现抖动现象。

网络异常,图片无法展示
|

浏览器支持

content-visibility依赖于CSS Containment规范[1]。截至撰写本文时,大多数谷歌浏览器目前都支持content-visibility

而且,content-visibility支持对于在高端系统上实现功能来说并不是一件坏事,所以我相信,随着web开发的进步,这将很快会得到所有浏览器的支持。

备选方案

再介绍一个使用JavaScript提高性能的替代方法,如使用List Virtualization[2],但是,见识过这样简单明确的2行css ,谁还会想要编写和维护实现相同功能却需求100行的js代码呢?

目录
相关文章
|
2月前
|
前端开发 JavaScript 测试技术
CSS3 动画效果对网站性能有什么影响?
CSS3动画效果在为网站带来丰富视觉体验的同时,也会对网站性能产生多方面的影响
82 1
|
3月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
7天前
|
前端开发 JavaScript 开发者
前端 CSS 优化:提升页面美学与性能
前端CSS优化旨在提升页面美学与性能。通过简化选择器(如避免复杂后代选择器、减少通用选择器使用)、合并样式表、合理组织媒体查询,可减少浏览器计算成本和HTTP请求。利用硬件加速和优化动画帧率,确保动画流畅。定期清理冗余代码并使用缩写属性,进一步精简代码。这些策略不仅加快页面加载和渲染速度,还提升了视觉效果,为用户带来更优质的浏览体验。
|
2月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
45 5
|
2月前
|
JavaScript 前端开发
CSS3 动画和 JavaScript 动画的性能比较
具体的性能表现还会受到许多因素的影响,如动画的复杂程度、浏览器的性能、设备的硬件条件等。在实际应用中,需要根据具体情况选择合适的动画技术。
|
2月前
|
编解码 前端开发 JavaScript
如何根据性能检测结果进行 CSS 优化?
【10月更文挑战第28天】根据性能检测结果进行CSS优化需要综合考虑多个方面的因素,针对不同的问题采取相应的优化措施,不断调整和改进CSS代码,以提高页面的性能和用户体验。同时,在优化过程中要注意保持CSS代码的可读性和可维护性,确保优化后的代码仍然易于理解和修改。
|
2月前
|
Web App开发 前端开发 JavaScript
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
56 1
|
2月前
|
缓存 监控 前端开发
CSS 提高性能的方法
【10月更文挑战第24天】在实际应用中,还需要根据具体项目的特点和需求,灵活选择和组合这些方法,不断进行优化和改进。同时,随着技术的不断发展,也需要持续关注新的性能优化技巧和最佳实践,以保持在性能优化方面的领先地位。你对 CSS 性能优化还有哪些深入的思考和经验呢?欢迎进一步交流和分享。
|
4月前
|
缓存 前端开发
css内部样式和外部样式的性能比较和使用规范
CSS 的内部样式和外部样式各有优缺点,适用于不同场景。