svg使用总结
svg的制作
步骤:
1、按照正常导出图片的方式导出后缀为png的雪碧图和单个icon,然后用AI
打开该类文件,然后直接导出为svg
后缀的图片即可
2、可以安装压缩工具,对svg
文件进行压缩
3、安装svg
压缩工具
npm install svgo -g
svgo xx.svg (可以将多余的代码删减掉)
压缩前的效果
压缩后的效果(其实使用ai导出的文件已经是删减后的了)
blob:https://maxiang.io/5da0e4fa-3c38-414f-8236-247d433a9e40步骤:
文件–>导出–>导出为–>svg后缀 (此方法导出,可以减少svg的大小,相对于直接存储的方式)
使用AI制作的svg可以直接使用,但是使用ps直接导出的svg文件,会使svg中的image标签受损,在html中无法显示
使用AI制作svg时,使用导出后缀为svg的文件,而不是存储为svg的图片
svg的使用
- 直接在img标签中使用
<img src="qiy-icon1.svg"/>
- 直接通过
background:url()
在css中引入
background:url("qiy-icon1.png");
background-size:100% 100%;
也可以做成后缀为
svg
的雪碧图,用法与png的雪碧图一样
svg的兼容处理
在安卓4.2.2 版本上可以正常展示(所以业务中,不需要做降级处理)
降级写法
<img src="qiy-icon1.svg" alt=""class="img" onerror="this.src=qiy-icon1.png">
background-image:url("qiy-icon1.png");
/*降级处理不能方便地使用CSS修改Icon的颜色和边线属性。*/
background-image:url("qiy-icon1.svg"),none;
background-size:100% 100%;
svg与png的对比
- 单个图片,大小接近相同
- 雪碧图,svg比png的大,通过AI导出的svg图片,已经很小了,此时再通过svgo进行压缩,也只压缩了几至十几kb
svg的缺点