在微信小程序开发过程中需要在小程序里使用 SVG 矢量图标, 至于为什么要使用 SVG 图标相信看到这篇文章的你应该明白, 如果你不明白请百度一下
微信小程序里使用 SVG 矢量图标有 2 种引入方法:
一, SVG 图标转换为 BASE64 编码
使用 http://tools.jb51.net/transcoding/img2base64 工具把需要引入的 SVG 图标转换成 BASE64 编码
注意: 生成 BASE64 编码时需要把开头的 data:image/svg; 修改成 data:image/svg+xml; 这个在线工具的问题, 使用其它在线 BASE64 编码功能时大家一定要注意
复制转换后的编码至 wxss 文件中相应的 background-image:url("SVG 图标 BASE64 编码") 中, 如下代码
- .svg{
- background:url("data:svg+xml;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAACMCAIAAAAhotZpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+2T3kLSMg8LC1QJzR/Dv3t/jrmSE9K/tTuKTbVJF1LQ93QcQG6L6nPEkWqECzSEhhiahTSNGLN0KKH4yG1CDLmhCN8EMskTdhAEXqaofsy9LWqNOCmeEgtgJRZZOF4EA0DlnSoC642kfxdQ+o+S1IOeURyXlRtSxVlJN3Ykve1Eaqwyvs2WuhQYC8Sq7nVDhYb6QhzJlL9rxkltKKokZKLdEhHB8l8OdRUNG6qsQ9sclBHkZ6k7Ojc0jJaSfLqYCG+g3h1E99dDnm+P2oJetK2VLClE7LNtigHIBZI8mpOiGb0EebGhojVQl1xj5FXRSITP8YpRBpYFhiOKJlgJq9oKs3xhA+kB5UvppaOxhxJ0zGxMxDMkDSTZkiaIWkmRUn6fwEGAE2xLmu6HJtTAAAAAElFTkSuQmCC");
- width:100rpx;
- height:100rpx;
- background-size: contain
- }
同时还需要添加 background-size: contain 属性使图标能根据元素大小自动缩放
然后在 wxss 对应的 wxml 文件中添加
- <view class="svg">
- </view>
编译后的效果
二, 使用运程地址引入 SVG 图标
把 SVG 图标上传到网站服务器上, 在浏览器中输入 SVG 图标地址测试是否能正常打开
复制 SVG 图标地址到 background-image:url(SVG 图标 URL 地址) 如下
- .svg{background:url(http://mt.com/coding.svg);
- width:100rpx;
- height:100rpx;
- }
编译后的效果
总结:
第一种方法直接把 SVG 图标 BASE64 编码放到 WXSS 文件内, 这样做会大大增加微信小程序的体积, 如果要更换图标还需要重新编译上传, 不推荐
第二种方法相比第一种方法不会增加小程序的体积, 需要更换图标时上传到服务器即可, 非常灵活, 推荐使用第二种方法
来源: https://www.jb51.net/article/149154.htm