微信小程序里引入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原生appendChild的bug解决心得分享
Jul 01 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
Jan 28 Javascript
动态读取JSON解析键值对的方法
Jun 03 Javascript
js 左右悬浮对联广告特效代码
Dec 12 Javascript
AngularJS使用ngMessages进行表单验证
Dec 27 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
Dec 28 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
Sep 04 Javascript
AngularJS 事件发布机制
Aug 28 Javascript
vue项目中实现图片预览的公用组件功能
Oct 26 Javascript
原生JS实现手动轮播图效果实例代码
Nov 22 Javascript
Vue数字输入框组件使用方法详解
Feb 10 Javascript
Vue使用screenfull实现全屏效果
Sep 17 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生成不重复随机数的方法汇总
2014/11/19 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
基于vue的换肤功能的示例代码
2017/10/10 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
python中使用print输出中文的方法
2018/07/16 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
Hotels.com中国区:好订网
2016/08/18 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
财务管理专业毕业生求职信范文
2013/09/21 职场文书
生产现场工艺工程师岗位职责
2013/11/28 职场文书
公司门卫管理制度
2014/02/01 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
《颐和园》教学反思
2016/02/19 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
python中使用redis用法详解
2022/12/24 Redis