微信小程序里引入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 相关文章推荐
javascript CSS画图之基础篇
Jul 29 Javascript
理解Javascript_01_理解内存分配原理分析
Oct 11 Javascript
JS正则表达式验证数字代码
Jan 28 Javascript
JavaScript实现拖拽网页内元素的方法
Apr 15 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
Jun 09 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 Javascript
浅析Javascript中bind()方法的使用与实现
May 30 Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
layui--js控制switch的切换方法
Sep 03 Javascript
layui 对弹窗 form表单赋值的实现方法
Sep 04 Javascript
详解微信小程序中var、let、const用法与区别
Jan 11 Javascript
详解阿里Node.js技术文档之process模块学习指南
Jan 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
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
PHP在线书签系统分享
2016/01/04 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
跟老齐学Python之重回函数
2014/10/10 Python
python实现复制整个目录的方法
2015/05/12 Python
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
Python中static相关知识小结
2018/01/02 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
python画环形图的方法
2020/03/25 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
优纳科技软件测试面试题
2012/05/15 面试题
大学在校生求职信范文
2013/11/21 职场文书
结婚典礼证婚词
2014/01/11 职场文书
大学社团活动策划书
2014/01/26 职场文书
2015年幼儿园毕业感言
2014/02/12 职场文书
股东授权委托书范本
2014/09/13 职场文书
工作失误检讨书范文
2015/01/26 职场文书
节约用电倡议书
2015/04/28 职场文书
学习十八大的感悟
2015/08/11 职场文书