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

2023-06-04 0 616

SegmentFault 街道社区时评:终生初学者

译者:Tam Hanna

翻译者:后端小光 

CSS 要通过两个相较繁杂的管线,就像 HTML 和 JavaScript 那样,浏览器要从伺服器浏览文档,接着展开导出并将其应用领域于 DOM。由于强化某种程度很高,这个操作过程一般来说十分快——对不如前所述架构的较大型 web 工程项目,CSS 一般来说只占总天然资源耗用的少部分。

架构冲破了这种均衡。主要包括一个 JavaScript GUI 栈,如 jQuery UI,能检视 CSS, JS 和 HTML 大小不一渐渐的变小。一般来说,开发者最终才会深感阻力,当他们用两个强悍的 8 核服务站前面,采用 T3 internet 时,没有人重视速率,这随著延后或 cpu 受到限制电子设备的出现而发生改变。

强化 CSS 须要两个布季夫的方式。尽管纯手工撰写的标识符能采用各式各样控制技术展开精简,但纯手工检查和架构标识符是低效率的。在这些情况下,采用智能化的精简会造成更快的结论。

上面的关键步骤将带我们步入 CSS 强化的当今世界。并不是每两个都能间接应用领域到你的工程项目中,但一定要读懂它。

No.1

采用简写

Web 性能优化:21 种优化 CSS 和加快网站速度的方法采用简写句子,如上面右图的 margin声明,能关键在于增大 CSS 文档的大小不一。在 google 上搜寻CSS Shorthand能找出很多其他的速记形式。p { margin-top: 1px;  margin-right: 2px;margin-bottom: 3px;  margin-left: 4px; }p { margin: 1px 2px 3px 4px; }

No.2

查找并删除未采用的 CSS

Web 性能优化:21 种优化 CSS 和加快网站速度的方法删除不必要的部分 CSS,j 显然会加快网页的加载速率。谷歌的 Chrome 应用领域程序有这种开箱即用的功能。只需转到查看 > 开发者 > 开发者工具,并在最近的版本中打开 Sources 选项卡,接着打开命令菜单。接着,选择 Show Coverage,在 Coverage analysis 窗口中高亮显示当前页面上未采用的标识符,让您大开眼界。打开谷歌应用领域程序开发都工具,在 Conlse旁边更多选择 Coverage,就能看到未采用的 CSS, 点击对应的项,高亮显示当前页面上未采用的标识符,让你大开眼界:Web 性能优化:21 种优化 CSS 和加快网站速度的方法

No.3

以更便捷的方式做到这一点

Web 性能优化:21 种优化 CSS 和加快网站速度的方法在逐行分析中导航并不一定便捷,采用谷歌应用领域程序的 Audits 就能快速帮我们分析,采用方式,打开开发者工具,点击Audits 栏位,点击  Run audits后就开始分析结论。

No.4

注意这些问题

请读懂,对 CSS 的自动分析总是会导致错误。用压缩后的 CSS 文档替换 未压缩 CSS 文档之后,对整个中文网站展开彻底的测试——没有人知道强化器会导致什么错误。

No.4

内联关键 CSS

加载外部样式表须要花费时间,这是由于延后造成的——因此,能把最关键的标识符位放在  head中。但,请确保不要做得过火,读懂,执行维护任务的人员也要读取标识符。<html> <head> <style> .blue{color:blue;}</style> </head> <body> <div class=”blue”>Hello, world! </div>

No.6

允许反并行导出

@import 将 CSS 样式方便添加标识符中。遗憾的是,这些好处并不是没有代价的:由于 @import能嵌套,因此无法并行导出它。更并行的方式是使用一系列<link>@import url(“a.css”);@import url(“b.css”);@import url(“c.css”);<link rel=”stylesheet” href=”a.css”><link rel=”stylesheet” href=”b.css”><link rel=”stylesheet” href=”c.css”>

No.7

用 CSS 替换图片

几年前,一套半透明的 png 在中文网站上创建半透明效果是司空见惯的。现在,CSS 过滤器提供了一种节省天然资源的替代方式。例如,以下这个标识符片段能确保所讨论的图片显示为其自身的灰度版本。img { -webkit-filter: grayscale(100%); /* old safari */ filter: grayscale(100%);}

No.8

采用颜色快捷方式

常识告诉我们,六位数的颜色描述符是表达颜色最有效的方式。事实并非如此——在某些情况下,速记描述或颜色名称能更短。target { background-color: #ffffff; }target { background: #fff; }

No.9

删除不必要的零和单位

CSS 支持多种单位和数字格式。它是两个值得感谢的强化目标——能删除尾随和跟随的零,如上面的标识符片段右图。此外,请读懂,零始终是零,添加维度不会为包含的信息附带价值。padding: 0.2em;margin: 20.0em;avalue: 0px;padding: .2em;margin: 20em;avalue: 0;

No.10

消除过多分号

这种强化须要谨慎,因为它会影响标识符的更改。CSS 的规范允许省略属性组中的最终两个分号。由于这种强化方式所节省的成本很小,所以我们主要针对那些正在开发自动强化的程序员说明这一点。p {. . .font-size: 1.33em}

No.11

采用纹理图集

由于协议开销的原因,加载多个小图片的效率很低。CSS 精灵将一系列小图片组合成两个大的 PNG 文档,接着通过 CSS 规则将其分解。TexturePacker 等程序大大精简了创建操作过程。.download { width:80px; height:31px; background-position: -160px -160px}.download:hover {width:80px; height:32px; background-position: -80px -160px}

No.12

省略 px

提高操控性的两个简单方式是采用 CSS 标准的两个特性。为 0 的数值默认单位是px—— 删除 px 能为每个数字节省两个字节。h2 {padding:0px; margin:0px;}h2 {padding:0; margin:0}

No.13

避免须要操控性要求的属性

分析表明,一些标签比其他标签更昂贵。以下这些导出会影响操控性—如果在没有必要的情况,尽量不要采用它。border-radiusbox-shadowtransformfilter:nth-childposition: fixed;

No.14

删除空格

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

No.15

删除注释

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

No.16

使用自动压缩

Yahoo 的用户体验团队创建了两个处理很多压缩任务的应用领域程序。它以 JAR 文档的形式发布,在这里可用,并且能采用所选的 JVM 运行。java -jar yuicompressor-x.y.z.jarUsage: java -jar yuicompressor-x.y.z.jar[options][input file]Global Options-h, –help Displays thisinformation–type <js|css> Specifies thetypeof the input file

No.17

在 NPM 运行它

如果你希望将产品集成到 Node.JS 中,请访问 :npmjs.com/package/yuicompressor维护不良的存储库包含一组包装器文档和 JavaScript API。var compressor = require(yuicompressor);compressor.compress(/path/to/file or String of JS, {//Compressor Options:charset: utf8,type: js,

No.18

保持 Sass 的检查和

尽管 CSS 选择器的操控性不像几年前那么重要(请参阅参考资料)

,但像 Sass 这样的架构有时会造成十分繁杂的代,不时查看输出文档,并考虑强化结论的方式。

No.19

设置缓存

有句老话说,最快的文档永远不会通过网络发送。让应用领域程序缓存请求有效地实现这一点。遗憾的是,缓存头的设置要在伺服器上展开。充分上面讲的的两个 Chrome 工具,它提供了一种快速分析更改结论的方式。

No.20

冲破缓存

设计人员一般来说不喜欢缓存,因为他们担心应用领域程序会缓存上次的样式表。解决这个问题的两个简单方式是包含带有文档名的标记。遗憾的是,由于一些代理拒绝缓存具有“动态”路径的文档,此关键步骤所附带的标识符中概述的方案并不适用于所有地方。<Link rel=”stylesheet” href=”style.css?v=1.2.3″>

No.21

不要忘记基础知识

强化 CSS 只是游戏的一部分。如果你的伺服器不采用 HTTP/2 和 gzip 压缩,那么在数据传输期间会损失很多时间。幸运的是,解决这两个问题一般来说很简单。我们的示例显示了对常用 Apache 伺服器的一些调整。如果您发现自己在两个不同的系统上,只需参考伺服器文档即可。pico /etc/httpd/conf/httpd.confAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/css原文:https://www.creativebloq.com/how-to/21-ways-to-optimise-your-css-and-speed-up-your-site– END –Web 性能优化:21 种优化 CSS 和加快网站速度的方法

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务