加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Web性能优化:21种优化CSS和加快网站速度的方法

发布时间:2019-03-19 07:27:19 所属栏目:建站 来源:前端小智
导读:这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 React 事件来提高性能 CSS 必须通过一个相对复杂的管道,就像 HTML 和 JavaScript一

常识告诉我们,六位数的颜色描述符是表达颜色最有效的方式。事实并非如此——在某些情况下,速记描述或颜色名称可以更短。

  1. target { background-color: #ffffff; }  
  2. target { background: #fff; } 

09. 删除不必要的零和单位

CSS 支持多种单位和数字格式。它们是一个值得感谢的优化目标——可以删除尾随和跟随的零,如下面的代码片段所示。此外,请记住,零始终是零,添加维度不会为包含的信息附带价值。

  1. padding: 0.2em;  
  2. margin: 20.0em;  
  3. avalue: 0px;  
  4. padding: .2em;  
  5. margin: 20em;  
  6. avalue: 0; 

10. 消除过多分号

这种优化需要谨慎,因为它会影响代码的更改。CSS的规范允许省略属性组中的最后一个分号。由于这种优化方法所节省的成本很小,所以我们主要针对那些正在开发自动优化的程序员说明这一点。

  1. p {  
  2. . . .  
  3.     font-size: 1.33em  

11.使用纹理图集

由于协议开销的原因,加载多个小图片的效率很低。CSS 精灵将一系列小图片组合成一个大的PNG 文件,然后通过 CSS 规则将其分解。TexturePacker 等程序大大简化了创建过程。

  1. .download {  
  2.   width:80px;   
  3.   height:31px;   
  4.   background-position: -160px -160px  
  5. }  
  6. .download:hover {  
  7.   width:80px;   
  8.   height:32px;   
  9.   background-position: -80px -160px  

12. 省略 px

提高性能的一个简单方法是使用CSS标准的一个特性。为 0 的数值默认单位是 px—— 删除 px 可以为每个数字节省两个字节。

  1. h2 {padding:0px; margin:0px;}  
  2. h2 {padding:0; margin:0} 

13. 避免需要性能要求的属性

分析表明,一些标签比其他标签更昂贵。以下这些解析会影响性能—如果在没有必要的情况,尽量不要使用它们。

  1. border-radius  
  2. box-shadow  
  3. transform  
  4. filter  
  5. :nth-child  
  6. position: fixed; 

14. 删除空格

空格——考虑制表符、回车符和空格——使代码更容易阅读,但从解析器的角度看,它没有什么用处。在发布前删除它们,更好的方法是将此任务委托给 shell 脚本或类似的工具。

15. 删除注释

注释对编译器也没有任何作用。创建一个自定义解析器,以便在发布之前删除它们。这不仅节省了带宽,而且还确保攻击者和克隆者更难理解手头代码背后的思想。

16. 使用自动压缩

Yahoo 的用户体验团队创建了一个处理许多压缩任务的应用程序。它以 JAR 文件的形式发布,在这里可用,并且可以使用所选的JVM运行。

  1. java -jar yuicompressor-x.y.z.jar  
  2. Usage: java -jar yuicompressor-x.y.z.jar  
  3.  [options] [input file]  
  4. Global Options  
  5.     -h, --help                Displays this  
  6.  information  
  7.     --type <js|css>           Specifies the  
  8.  type of the input file 

17. 在 NPM 运行它

如果你希望将产品集成到 Node.JS 中,请访问 npmjs.com/package/yuicompressor。维护不良的存储库包含一组包装器文件和JavaScript API。

  1. var compressor = require('yuicompressor');  
  2.  compressor.compress('/path/to/  
  3. file or String of JS', {  
  4.     //Compressor Options:  
  5.     charset: 'utf8',  
  6.     type: 'js', 

18. 保持 Sass 的检查

虽然 CSS 选择器的性能不像几年前那么重要(请参阅参考资料),但是像 Sass 这样的框架有时会产生非常复杂的代,不时查看输出文件,并考虑优化结果的方法。

19. 设置缓存

有句老话说,最快的文件永远不会通过网络发送。让浏览器缓存请求有效地实现这一点。遗憾的是,缓存头的设置必须在服务器上进行。充分上面讲的的两个 Chrome 工具,它们提供了一种快速分析更改结果的方法。

20. 打破缓存

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读