微信小程序里引入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 相关文章推荐
通过jquery实现tab标签浏览效果
Feb 20 Javascript
ie和firefox不兼容的解决方法集合
Apr 28 Javascript
图片连续滚动代码[兼容IE/firefox]
Jun 11 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
Mar 25 Javascript
基于jQuery实现模拟页面加载进度条
Apr 01 Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
javascript十六进制及二进制转化的方法
May 06 Javascript
javascript实现省市区三级联动下拉框菜单
Nov 17 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
Jan 21 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
Jul 13 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 多行多列显示
2009/08/15 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
浅谈Javascript面向对象编程
2011/11/15 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
python网络编程学习笔记(四):域名系统
2014/06/09 Python
在Python中使用模块的教程
2015/04/27 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
python3中str(字符串)的使用教程
2017/03/23 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
Python matplotlib可视化实例解析
2020/06/01 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
python与idea的集成的实现
2020/11/20 Python
环境科学毕业生自荐信
2013/11/21 职场文书
公司晚会主持词
2014/03/22 职场文书
大学学生会辞职信
2015/05/13 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书