值得一读web图片

web图像优化(3)

2018-01-24  本文已影响16人  技术与健康

SVG优化

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


image

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

SVG优化的规则

通过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的过渡。

上一篇下一篇

猜你喜欢

热点阅读