微信小程序里引入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 相关文章推荐
List the Codec Files on a Computer
Jun 18 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
Mar 18 Javascript
Javascript Ajax异步读取RSS文档具体实现
Dec 12 Javascript
JavaScript实现大数的运算
Nov 24 Javascript
Web表单提交之disabled问题js解决方法
Jan 13 Javascript
跟我学习javascript的prototype原型和原型链
Nov 18 Javascript
node.js cookie-parser之parser.js
Jun 06 Javascript
Bootstrap实现的表格合并单元格示例
Feb 06 Javascript
JavaScript怎样在删除前添加确认弹出框?
May 27 Javascript
js 实现ajax发送步骤过程详解
Jul 25 Javascript
使用axios请求接口,几种content-type的区别详解
Oct 29 Javascript
vue 解决addRoutes多次添加路由重复的操作
Aug 04 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
在数据量大(超过10万)的情况下
2007/01/15 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python实现二维数组输出为图片
2018/04/03 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
Django添加sitemap的方法示例
2018/08/06 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Python matplotlib实时画图案例
2020/04/23 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
产品售后服务承诺书
2014/05/21 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android