2026-07-11 16:29:59
通过合理使用link标签的rel属性(如preload、prefetch)及优化加载策略,可显著提升CSS加载效率,减少渲染阻塞,具体方法如下:
1. 预加载关键CSS(rel="preload")使用<link rel="preload" href="critical.css" as="style">,配合as="style"明确资源类型,提升解析效率。
示例:<link rel="preload" href="core-layout.css" as="style">
内联关键CSS:将首屏渲染所需的样式(如按钮、头部、主结构)直接嵌入HTML的<style>标签中。
异步加载非关键CSS:通过rel="preload" + onload切换或JavaScript动态加载非关键样式。
非关键CSS不直接使用rel="stylesheet":改用异步加载或媒体查询。
媒体查询加载特定样式:如打印样式(media="print")不会阻塞屏幕渲染。
动态加载:先加载基础结构,再按需插入完整样式。
提取首屏关键CSS并内联。
预加载剩余关键CSS(preload)。
异步加载非关键CSS(preload + onload或JavaScript)。
预取后续页面资源(prefetch)。
高优先级:preload(关键CSS)。
中优先级:当前页面非关键CSS(异步加载)。
低优先级:prefetch(后续页面资源)。
通过以上方法,可有效减少CSS加载对页面渲染的阻塞,缩短白屏时间,提升用户体验和页面性能。