优化CSS加快网站速度的方法

2019-11-06 01:14:42 浏览数 (1)

  • 使用简写
  • 查找并删除未使用的 CSS
  • 内联关键 CSS
  • 用 CSS 替换图片
  • 使用颜色快捷方式
  • 删除不必要的零和单位
  • 删除过多分号
  • 使用纹理图集
  • 省略 px
  • 避免需要性能要求的属性
  • 删除空格
  • 删除注释
  • Sass 的检查
  • 设置缓存
  • 其它

使用简写

代码语言:javascript复制
p { margin-top: 1px;
    margin-right: 2px;
    margin-bottom:  3px;
    margin-left: 4px; }

p { margin: 1px 2px 3px 4px; }

查找并删除未使用的 CSS

使用谷歌浏览器:

  • 查看>开发人员>开发人员工具,并在最近的版本中打开Sources选项卡,然后打开命令菜单。然后,选择Show Coverage,在Coverage analysis窗口中高亮显示当前页面上未使用的代码
  • 使用Audits进行逐行分析,打开开发者工具,点击 Audits 栏位,点击 Run audits 开始分析结果

内联关键 CSS

加载外部样式表需要花费时间,这是由于延迟造成的——因此,可以把最关键的代码位放在 head 中。

用 CSS 替换图片

例,以下这个代码片段可以确保所讨论的图片显示为其自身的灰度版本

代码语言:javascript复制
img {
    -webkit-filter: grayscale(100%); 
    /* old safari */
    filter: grayscale(100%);
}

使用颜色快捷方式

某些情况下,速记描述或颜色名称可以更短

代码语言:javascript复制
target { background-color: #ffffff; }
target { background: #fff; }

删除不必要的零和单位

可以删除尾随和跟随的零

代码语言:javascript复制
padding: 0.2em;
margin: 20.0em;
font-size: 0px;

padding: .2em;
margin: 20em;
font-size: 0;

删除过多分号

允许省略属性组中的最后一个分号

代码语言:javascript复制
div {
. . .
	font-size: 1.33em
}

使用纹理图集

将一系列小图片组合成一个大的PNG 文件,然后通过 CSS 规则将其分解

省略 px

为 0 的数值默认单位是 px—— 删除 px 可以为每个数字节省两个字节

代码语言:javascript复制
div {padding:0px; margin:0px;}

div {padding:0; margin:0}

避免需要性能要求的属性

影响性能的属性

代码语言:javascript复制
border-radius
box-shadow
transform
filter
:nth-child
position: fixed;

删除空格

解析器的角度看,空格没有什么用处。在发布前删除它们,更好的方法是将此任务委托给 shell 脚本或类似的工具(gulp...)

删除注释

注释对编译器也没有任何作用,可以在发布前删除

Sass 的检查

输出文件不一定最优

设置缓存

服务器上设置缓存头,非覆盖式发布等

其它

服务器使用 HTTP/2 和 gzip 压缩

0 人点赞