微信小程序里引入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 getStyle获取最终样式函数代码
Apr 01 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
Apr 26 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
Jquery解析json数据详解
Dec 26 Javascript
js分页代码分享
Apr 28 Javascript
简单实现JS对dom操作封装
Dec 02 Javascript
jQuery div拖拽用法实例
Jan 14 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
Sep 28 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
使用apifm-wxapi模块中的问题及解决方法
Aug 05 Javascript
js实现提交前对列表数据的增删改查
Jan 16 Javascript
Python机器学习之决策树和随机森林
Jul 15 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 Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
python文件和目录操作函数小结
2014/07/11 Python
简单的Python抓taobao图片爬虫
2014/10/26 Python
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
Python抽象类的新写法
2015/06/18 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
python 两种方法删除空文件夹
2020/09/29 Python
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
工程承包协议书
2014/04/22 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
Android 中的类文件和类加载器详情
2022/06/05 Java/Android