现在很多公众号都直接在正文页通过SVG交互动画增加文章的阅读交互体验,而不再跳转H5。结合这一需求,本期分享的内容是如何开发交互式SVG,并嵌入微信公众号正文页。设计师和前端开发同学都可以来学习下。学会了可以接这方面的私活了,短平快地赚小钱钱。
先看下最终SVG交互效果:
(体验公众号正文页实际效果,请到本文底部扫码关注公众号)
技术要有落地的应用场景才能发挥实效。为什么很多公众号开始做SVG交互而放弃H5呢?
主要原因有两点:
-
<李> H5制作成本高,需要一定的开发周期和服务器支撑。李>
<李>从正文页跳转H5页面多了一个步骤,容易造成用户流失。李>
当然,对于需要复杂交互,或者更多功能的话,还是需要单独开发H5。
SVG虽然只能实现简单的交互,但既能增加交互体验又不会太分散用户对内容的关注点,在很多场景下还是很有需求的。
SVG交互本质还是基于SVG SMIL动画、配合SVG的点击事件,实现非常简单的交互。
虽然实现的效果很有限,但还是有很多发挥空间的,比如以下应用场景:
-
<李>【汽车宣传】点击车子后,车子移动,经过某个位置显示某个特性或地点名称文案。李>
<李>【心理测试】点击某个选项后,出现选择结果。李>
<李>【拆红包】一层一层拆掉红包,显示最里面内容。李>
<李>【密码解锁】点击指定的几个数字后,显示解锁内容。李>
<李>【猜灯谜】点击后显示内容,类似翻牌。李>
下面开始讲解本期演示的制作全过程。
<强> 3.1背景图片强>
使用PS等软件设计SVG的背景图,建议宽度为640 px ~ 750 px,也可以更高,但文件大小也会增加。本例制作了640 px x 800 px的jpg背景图:
<强> 3.2 SVG素材强>
可以去阿里巴巴矢量图库(www.iconfont.cn/)网站下载。也可以自行使用AI制作。但需要注意控制好SVG的图片尺寸. SVG的图片的尺寸即点击区域,所以控制好图片中空余的留白区域。
本演示从阿里矢量库中下载了爆竹SVG下载后用AI打开,缩小图片的尺寸:
3.3导出SVG
由于微信编辑器不允许嵌入<代码> & lt; style> & lt; script> 代码标签,所以通过人工智能导出SVG的时候要进行一下设置:
把样式选择为表示属性,这样导出的SVG就不含有<代码> & lt; style> 代码,而且元素的样式也会通过标签属性进行设置,而不使用风格内联css。
4.1 SVG基本结构
& lt; svg version=" 1.1 " viewBox=" 0 0 640 800 " xmlns=" http://www.w3.org/2000/svg "祝辞& lt;/svg>
这里的风格均为基础的CSS,就不再详述了。
主要说下viewBox属性:
viewBox=" x, y,宽度、高度”
x, y控制SVG内所有元素的位移(不影响SVG的背景图)。
宽度、高度并不是SVG的实际宽高,而是SVG内的“分辨率”.width,身高越大,SVG内的元素越小,反之,元素则越大(不影响SVG的背景图)。
建议viewBox的x, y设置为0,宽度、高度设置为背景图的尺寸。
<强> 4.2放入文字强>
先使用<代码> & lt; text> 代码>加入文字:
& lt; svg version=" 1.1 " viewBox=" 0 0 640 800 " xmlns=" http://www.w3.org/2000/svg "比; + & lt;文本x=" 200 " y=" 540 "填补=" # fff“祝辞点击爆竹放飞梦想& lt;/text> & lt;/svg>
通过调整x, y把位置调好,填充为文字颜色,风格设置字号。