web图像优化(3)

SVG优化

保持SVG精益意味着剥离任何不必要的东西。 用编辑器创建的SVG文件通常包含大量的冗余信息(元数据,注释,隐藏层等等)。 这些内容通常可以安全地移除或转换为更简单的形式,而不会影响正在呈现的最终SVG


image

Jake Archibald的SVGOMG是一个GUI界面,使您能够通过选择优化来优化您的SVG,并对输出的标记进行实时预览

SVG优化的规则

  • 缩小和gzip您的SVG文件。 SVG实际上只是用XML表示的文本资产,如CSS,HTML和JavaScript,应该缩小和压缩以提高性能。
  • 使用预定义的SVG形状(如<rect>,<circle>,<ellipse>,<line><polygon>)来代替路径。使用预定义的形状可以减少生成最终图像所需的标记数量,这意味着浏览器解析和栅格化的代码更少。减少SVG的复杂性意味着浏览器可以更快地显示它。
  • 如果您必须使用路径,请尝试减少曲线和路径。简化和结合他们,你可以。 Illustrator的简化工具擅长于消除复杂图形中的多余点,同时消除不规则性。
  • 避免使用组。如果你不能,试着简化它们。
  • 删除不可见的图层。
  • 避免任何Photoshop或Illustrator的影响。他们可以转换成大的光栅图像。
  • 仔细检查任何不支持SVG的嵌入式光栅图像
  • 使用工具来优化您的SVG。 SVGOMG是Jake Archibald为SVGO提供的超级方便的基于Web的图形用户界面,我发现它非常宝贵。如果使用Sketch,可以在导出时使用SVGO Compressor插件(用于运行SVGO的Sketch插件)缩小文件大小。

通过SVGO以高精度模式(导致尺寸改善29%)与低精度模式(尺寸改善38%)运行SVG源的一个例子。


image

SVGO是一个优化SVG的基于节点的工具。 SVGO可以通过降低定义中的数字精度来减小文件大小。 点之后的每个数字都会添加一个字节,这就是为什么更改精度(位数)会严重影响文件大小的原因。 要非常小心地改变精度,因为它可以直观地影响你的形状的外观


image

需要注意的是,虽然SVGO在前一个例子中表现良好。在很多情况下,但对于不会过分简化路径和形状,可能并非如此。

使用SVGO命令行:
svgo input.svg -o output.svg

可以调整精度

svgo input.svg --precision=1 -o output.svg

不要忘记压缩SVG!

不要忘记Gzip您的SVG资产或使用Brotli服务他们。因为它们是基于文本的,所以它们压缩得非常好


image

当Google发布新徽标时,我们宣布最小的版本只有305字节


image

有很多先进的SVG技巧,你可以用它来进一步修改(一直到146字节)!不用说,无论是通过工具还是手动清理,可能还有一点你可以削减你的SVG。

SVG Sprites

SVG对于图标来说可以是强大的,提供了一种表示为精灵的方法,而不需要图标字体所需的奇怪变通方法。它具有比图标字体(SVG笔画属性)更好的粒度CSS样式控制,更好的定位控制(无需围绕伪元素和CSS显示)和SVG更容易访问。

像svg-sprite和IcoMoon这样的工具可以自动将SVG结合成可以通过CSS Sprite,Symbol Sprite或Stacked Sprite使用的精灵。Una Kravetz有一个关于如何使用gulp-svg-sprite实现SVG sprite工作流程的实用文章。 Sara Soudein也在她的博客中介绍了从图标字体到SVG的过渡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值