微信小程序里引入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的执行过程(图文)
May 20 Javascript
Javascript判断对象是否相等实现代码
Mar 18 Javascript
JS特权方法定义作用以及与公有方法的区别
Mar 18 Javascript
JS 实现导航栏悬停效果(续)
Sep 24 Javascript
jquery实现页面关键词高亮显示的方法
Mar 12 Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 Javascript
jquery实现先淡出再折叠收起的动画效果
Aug 07 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
Jul 07 Javascript
Node.js  REPL (交互式解释器)实例详解
Aug 06 Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 Javascript
JavaScript封闭函数及常用内置对象示例
May 13 Javascript
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
微信小程序实现图片翻转效果的实例代码
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 URL编码解码函数代码
2009/03/10 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
10个简化PHP开发的工具
2014/12/25 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
jquery validate使用攻略 第四步
2010/07/01 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
JavaScript实现HTML5游戏断线自动重连的方法
2017/09/18 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python和pyqt实现360的CLable控件
2014/02/21 Python
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
pycharm导入源码的具体步骤
2020/08/04 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
COSETTE官网:奢华,每天
2020/03/22 全球购物
自荐信结尾
2013/10/27 职场文书
宪法宣传周工作方案
2014/05/26 职场文书
社区创先争优承诺书
2014/08/30 职场文书
创新社会管理心得体会
2014/09/12 职场文书
支行行长竞聘报告
2014/11/06 职场文书
品质保证书格式
2015/02/28 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js
微信小程序实现轮播图指示器
2022/06/25 Javascript