我的网站开发技术经验总结 我的网站开发技术经验总结
首页

fangdown

我的网站开发技术经验总结
首页
  • 大前端

  • 基础

    • js

    • css

      • 如何让chrome实现小于12px的字体大小
      • 如何使用css画出三角形,正方形
      • 如何使用CSS完成视差滚动效果
      • 说说单行和多行文本溢出的实现方式
      • 说说对Css预编语言的理解
      • 说说你对CSS盒子模型的理解
      • 说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别
      • 说说什么是响应式设计及实现方式
      • 说说什么是重绘和回流,如何优化
      • 说说元素水平垂直居中的方法有哪些
      • 说说CSS3新增了哪些新特性
      • 说说css性能优化有哪些方式
        • 是什么
        • 优化方式
          • 内联首屏css
          • 异步加载css
          • 资源压缩
          • 合理使用选择器
          • 减少使用昂贵属性
          • 不使用@import
          • 减少重绘重排
      • 说说css中层叠上下文z-index的理解
      • 说说css中的选择器是优先级
      • 说说css中两栏布局和三栏布局有哪些
      • 说说css中哪些属性是继承和不继承的
      • 说说css中实现动画有哪些
      • 说说CSS中有哪些方式可以隐藏页面元素
      • 说说em-px-rem-vh-vw的区别
      • 说说flex盒子的理解及应用
      • 说说property和prototype的区别
      • 谈谈你对BFC的理解
    • ES6

  • 框架

  • 情商

  • 算法

  • 网络

  • 千锤百炼
  • 基础
  • css
fangdown
2021-08-23
目录

说说css性能优化有哪些方式

# 是什么

css性能: 作为渲染和内容展现的重要环节,css性能优化贯穿整个过程

# 优化方式

  • 内联首屏css
  • 异步加载css
  • 资源压缩
  • 合理使用选择器
  • 减少昂贵的属性
  • 不使用@import

# 内联首屏css

先解析html, 再下载css文件,通过内联css,html下载解析后就可以立即渲染

  • 不适合较大css文件,没有缓存,阻塞

# 异步加载css

css没有下载解析完成之前,会阻塞渲染,浏览器不会渲染任何已处理的内容

前面加载内联css后, 后面引用的外部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标签midia属性为noexist
<link rel="stylesheet" href="mystyles.css" media="noexist" onload="this.media='all'">
  • 设置link标签rel属性
<link rel="alternate stylesheet" href="mystyles.css" onload="this.rel='stylesheet'">

# 资源压缩

利用webpack等模块化工具进行css代码压缩

# 合理使用选择器

规则: 从右到左进行匹配 最佳写法

  • 选择器最多3层
  • 使用id就不需嵌套
  • 避免使用通配符和属性选择器

# 减少使用昂贵属性

  • box-shadow
  • opacity
  • filter
  • border-radius

# 不使用@import

  • 浏览器并行下载,增加延迟
  • 多个import会导致下载顺序紊乱
  • 先外面下载,再下载import内部的css

# 减少重绘重排

  • 避免table
  • 避免js操作
  • 动画要脱离文档流
  • css硬件加速
#性能#css
上次更新: 2021/12/19, 18:05:42
说说CSS3新增了哪些新特性
说说css中层叠上下文z-index的理解

← 说说CSS3新增了哪些新特性 说说css中层叠上下文z-index的理解→

最近更新
01
多分支修复撞车的问题
05-01
02
如何成为架构师
01-23
03
服务器部署全过程
11-23
更多文章>
Theme by Vdoing | Copyright © 2019-2026 fangdown | 粤ICP备19079809号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式