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

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

发布时间:2019-03-19 15:16:16 所属栏目:建站 来源:前端小智
导读:CSS 必须通过一个相对复杂的管道,就像 HTML 和 JavaScript一样,浏览器必须从服务器下载文件,然后进行解析并将其应用于DOM。由于优化程度极高,这个过程通常非常快对于不基于框架的小型 web 项目,CSS通常只占总资源消耗的一小部分。 框架打破了这种平衡

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.  
  3. 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. 打破缓存

设计人员通常不喜欢缓存,因为他们担心浏览器会缓存上次的样式表。解决这个问题的一个简单方法是包含带有文件名的标记。遗憾的是,由于一些代理拒绝缓存具有“动态”路径的文件,此步骤所附带的代码中概述的方案并不适用于所有地方。

  1. <Link rel="stylesheet" href="style.css?v=1.2.3"> 
21. 不要忘记基础知识

(编辑:厦门网)

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

热点阅读