微信小程序里引入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+jquery实现无限极联动
May 23 Javascript
js控制页面控件隐藏显示的两种方法介绍
Oct 09 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
JS获取网页属性包括宽、高等等
Apr 03 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
Jul 26 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
javascript定时器的简单应用示例【控制方块移动】
Jun 17 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
Dec 02 Javascript
Electron实现应用打包、自动升级过程解析
Jul 07 Javascript
React Native登录之指纹登录篇的示例代码
Nov 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
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
vue--vuex详解
2019/04/15 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
python实现xlsx文件分析详解
2018/01/02 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
高中体育教学反思
2014/01/24 职场文书
标准自荐信范文
2014/01/29 职场文书
对标管理实施方案
2014/03/12 职场文书
2015暑假打工实践报告
2015/07/13 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
Golang入门之计时器
2022/05/04 Golang