一个经常被忽视的网站性能瓶颈发生在处理级联样式表和随后在网页的文档对象模型中应用 CSS 选择器。为了加快网页的渲染速度并改善最终用户体验,请考虑以下五个 CSS 性能优化技巧。
1. 使用内联样式
如果给定样式仅用于单个特定页面元素(例如图像滑块或轮播)并且该组件仅用于站点中的少数页面,请使用内联样式而不是通用加载的 CSS 文件。这不仅会减少外部样式表的大小,还会减少在不使用该组件的页面上发生的 CSS 选择器评估的数量。
2. 使用特定的样式
不要将样式应用于通用选择器、后代选择器和顶级 HTML 元素。这样做会触发许多布尔评估。相反,通过选择更细粒度的元素(例如单个类样式)来优化 CSS 性能。
3. 使用 WebComponents 优化 CSS
WebComponents 是自包含的,减少了对共享 CSS 和 JavaScript 的需求,WebComponents 框架是一种相对较新的基于标准的方法,用于创建可重用组件,其中 JavaScript 和样式是自包含和隔离的。当你将组件所需的样式保留在全局共享的 CSS 文件之外时,你不会看到对站点的其他区域的性能影响,因为未使用的样式应用程序会不必要地消耗时钟周期。
4. 拆分你的 CSS 文件
如果你的许多 CSS 文件是针对特定浏览器或设备定制的,请将这些样式分解为多个 CSS 文件。在运行时,仅加载必要的那些。
这个 CSS 性能优化技巧将需要一些客户端 JavaScript 或服务器端处理来完成,但对用户的好处将值得付出额外的努力。
例如,如果移动和桌面呈现显着不同,这可能会在每种设备类型上将文档对象模型 (DOM) 评估的数量减少 50%。
5. 减小 DOM 的大小
用于拆分 CSS 文件的技巧也可用于减小 DOM 的大小。
另一个 CSS 性能优化技巧类似于将 CSS 文件拆分为多个特定于设备的文件。相反,你还可以缩小网页本身的大小,减少 HTML 中 DOM 元素的数量,从而加快客户端渲染速度。
但是,处理 CSS 的问题不仅在于需要应用于页面的样式数量,还在于实际页面上的 DOM 元素数量。许多采用响应式设计的现代网页会在每个页面请求上加载 HTML 源代码,以实现移动和桌面体验。相反,使用客户端 JavaScript 甚至服务器端技术来确保不会将多余的 HTML 加载到永远不会使用它的页面上。这可以显着减少 DOM 大小以及页面需要经过的样式表评估次数。
样式表是现代网站开发人员最好的朋友,但它们通常会带来隐藏的性能成本。遵循这五个 CSS 性能优化建议,减少 CSS 选择器成为网站性能瓶颈的可能性。想往前端发展的小伙伴建议参加Web前端培训来学习前端技术,有系统规范的课程,有经验丰富的专业讲师面授指导教学,能在短时间内学有所成。
了解更多