微信小程序里引入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 相关文章推荐
JSON语法五大要素图文介绍
Dec 04 Javascript
node.js Web应用框架Express入门指南
May 28 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
May 12 Javascript
简单实现js间歇或无缝滚动效果
Jun 29 Javascript
JavaScript如何一次性展示几万条数据
Mar 30 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
Sep 15 Javascript
Mint UI实现A-Z字母排序的城市选择列表
Dec 28 Javascript
vue双向绑定及观察者模式详解
Mar 19 Javascript
利用Promise自定义一个GET请求的函数示例代码
Mar 20 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
Jun 20 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
Jun 04 Javascript
JS画布动态实现黑客帝国背景效果
Nov 08 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
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
js比较日期大小的方法
2015/05/12 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
python list是否包含另一个list所有元素的实例
2018/05/04 Python
Python实现的根据IP地址计算子网掩码位数功能示例
2018/05/23 Python
Python中捕获键盘的方式详解
2019/03/28 Python
python和JavaScript哪个容易上手
2020/06/23 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
关于python中导入文件到list的问题
2020/10/31 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
2013/06/05 面试题
建筑工程实习自我鉴定
2013/09/19 职场文书
二人合伙经营协议书
2014/09/13 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server