异步加载css

异步加载CSS主要是用来进行性能优化的

1.为什么做性能优化

css主要是用来做页面渲染和内容展示,所有css影响着用户对网站的第一体验,所以需要对css进行优化

2.异步加载css的实现方式

  • 使用js将link标签插入到head标签的最后
// 创建link标签
const myCSS = document.createElement( "link" );
myCSS.rel = "stylesheet";
myCSS.href = "mystyles.css";
// 插入到header的最后位置
document.head.insertBefore( myCSS, document.head.childNodes[ document.head.childNodes.length - 1 ].nextSibling );
  • 设置link标签media属性为noexis,浏览器会认为当前样式表不适用当前类型,会在不阻塞页面渲染的情况下再进行下载。加载完成后,将media的值设为screenall,从而让浏览器开始解析CSS
<link rel="stylesheet" href="mystyles.css" media="noexist" onload="this.media='all'">
  • 通过rel属性将link元素标记为alternate可选样式表,也能实现浏览器异步加载。同样别忘了加载完成之后,将rel设回stylesheet
<link rel="alternate stylesheet" href="mystyles.css" onload="this.rel='stylesheet'">

猜你喜欢

转载自blog.csdn.net/weixin_65565362/article/details/127423388