微信小程序里引入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 相关文章推荐
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
Nov 15 Javascript
基于jquery完美拖拽,可返回拖动轨迹
Mar 29 Javascript
各种常用的JS函数整理
Oct 25 Javascript
javascript图片延迟加载实现方法及思路
Dec 31 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
Oct 04 Javascript
微信小程序-消息提示框实例
Nov 24 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
JS实现前端缓存的方法
Sep 21 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 Javascript
JS使用对象的defineProperty进行变量监控操作示例
Feb 02 Javascript
Ant Design Pro 下实现文件下载的实现代码
Dec 03 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
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
jquery 使用简明教程
2014/03/05 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
Python模块学习 filecmp 文件比较
2012/08/27 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
python3+PyQt5实现柱状图
2018/04/24 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
综合测评自我鉴定
2013/10/08 职场文书
应用心理学个人求职信范文
2013/12/11 职场文书
班长竞选演讲稿
2014/04/24 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
群众路线个人整改措施
2014/10/24 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书