微信小程序里引入SVG矢量图标的方法


Posted in Javascript onSeptember 20, 2019

引言

因为微信小程序的限制,引入外部图片或者矢量图,只能通过设置背景图片background-image : url("base64转码后的代码");的方式来进行操作。同时还是因为微信小程序的限制,我们要先把svg的xml编码转码为base64编码

首先,说明以下我们常见的svg矢量图是什么?下面引用百度百科的话:

svg是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式

可能还是比较迷糊,那我们来看看,用记事本打开一个svg,里面的编码是什么:

<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 
1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg 
t="1532946882675" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg" p-id="826" 
xmlns:xlink="http://www.w3.org/1999/xlink" width="200" 
height="200"><defs><style type="text/css"></style></defs><path d="M914.75 
466.75L832 384V256a64.19 64.19 0 0 0-64-64H640l-82.75-82.75a64.19 64.19 0 0 
0-90.51 0L384 192H256a64.19 64.19 0 0 0-64 64v128l-82.75 82.75a64.19 64.19 0 
0 0 0 90.51L192 640v128a64.19 64.19 0 0 0 64 64h128l82.75 82.75a64.19 64.19 0 
0 0 90.51 0L640 832h128a64.19 64.19 0 0 0 64-64V640l82.75-82.75a64.19 64.19 0 
0 0 0-90.5zM512 736L320 384h96l96 192 96-192h96z" p-id="827" 
fill="#F36778"></path></svg>

好了,你看到了<?xml/svg11.dtd,那我们就明白了,这是一种由特定的DTD约束的xml文件,www标准组织定义了这个标准或者说约束,来描述定义svg,所以我们可以知道svg其实就是xml的一个小子集。

步骤好了,下面介绍一个网站,用来将xml文件编码转码为base64编码:https://www.sojson.com/image2base64.html

1、在的网站的选择组件中选择需要转换的svg,然后在网站下面的转换框中复制转换成功的base64格式的代码

微信小程序里引入SVG矢量图标的方法

2、将复制后的代码粘贴到this=> [background-image : url("this")],然后对应的view或者text中加入样式即可

WXSS

微信小程序里引入SVG矢量图标的方法

WXML

微信小程序里引入SVG矢量图标的方法

效果图

微信小程序里引入SVG矢量图标的方法

PS顺便安利一下这个网站,虽然界面不怎么美观,但是功能确实良心,作为前端开发的辅助工具网站还是蛮OK滴~做个引流?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS获取页面input控件中所有text控件并追加样式属性
Feb 25 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
基于JavaScript代码实现随机漂浮图片广告
Jan 05 Javascript
js 截取或者替换字符串中的数字实现方法
Jun 13 Javascript
基于LayUI实现前端分页功能的方法
Jul 22 Javascript
详解webpack编译多页面vue项目的配置问题
Dec 11 Javascript
详解js类型判断
May 22 Javascript
node.js部署之启动后台运行forever的方法
May 23 Javascript
angular5 子组件监听父组件传入值的变化方法
Sep 30 Javascript
关于JavaScript 中 if包含逗号表达式
Nov 27 Javascript
微信小程序实现图片翻转效果的实例代码
Sep 20 #Javascript
vue实现直播间点赞飘心效果的示例代码
Sep 20 #Javascript
vue+layui实现select动态加载后台数据的例子
Sep 20 #Javascript
layui 中select下拉change事件失效的解决方法
Sep 20 #Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
Sep 20 #Javascript
在layui框架中select下拉框监听更改事件的例子
Sep 20 #Javascript
关于layui 下拉列表的change事件详解
Sep 20 #Javascript
You might like
我的论坛源代码(二)
2006/10/09 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
详解express与koa中间件模式对比
2017/08/07 Javascript
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
Python自动调用IE打开某个网站的方法
2015/06/03 Python
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
详解爬虫被封的问题
2019/04/23 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
爱国演讲稿400字
2014/05/07 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
给校长的建议书作文300字
2015/09/14 职场文书
2016新年晚会开场白
2015/12/03 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
Python+pyaudio实现音频控制示例详解
2022/07/23 Python