微信小程序里引入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 核心参考教程 内置对象
Oct 13 Javascript
Node.js实现批量去除BOM文件头
Dec 20 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
JavaScript必知必会(五) eval 的使用
Jun 08 Javascript
使用JavaScript获取Request中参数的值方法
Sep 27 Javascript
JS中substring与substr的用法
Nov 16 Javascript
bootstrap datetimepicker日期插件使用方法
Jan 13 Javascript
浅谈Angular4中常用管道
Sep 27 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 Javascript
浅谈vue 单文件探索
Sep 05 Javascript
vuex actions传递多参数的处理方法
Sep 18 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
基于文本的访客签到簿
2006/10/09 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
destoon常用的安全设置概述
2014/06/21 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
js选择器全面解析
2016/06/27 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
Python设计模式之观察者模式实例
2014/04/26 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
Python 支付整合开发包的实现
2019/01/23 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
python写一个随机点名软件的实例
2019/11/28 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
人事档案接收函
2014/01/12 职场文书
农民工工资支付承诺函
2014/03/31 职场文书
伊索寓言教学反思
2014/05/01 职场文书
学校四群教育实施方案
2014/06/12 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
python的变量和简单数字类型详解
2021/09/15 Python