通过在微信HTML代码中引入svg标签,我们可以使用基于svg的代码原理脱离CSS和JavaScript以及GIF图片制作动画。在图文中可以简单理解成不用绘图工具也能画图做动画,超链接,甚至更多玩法。通过SVG也可以获得极快速的加载速度。下面我总结了图文中可使用的SVG效果及具体应用。
1、弹幕效果
代码:
<g>
<text font-family="microsoft yahei,sans-serif" font-size="20" y="20" x="100%" fill="#898989">
前方高能٩(。•́‿•̀。)۶
<animate attributename="x" from="100%" to="-200" begin="0s" dur="3s" repeatcount="indefinite"></animate>
</text>
</g>
</svg>
2、旋转效果
代码:
<g transform="roatate(262.54 180 180)" style="box-sizing:border-box">
<text font-family="microsoft yahei,sans-serif" font-size="30" y="160" x="160" style="box-sizing:border-box">
旋转木马
<animate attributename="transform" begin="0s" dur="10s" type="rotate" from="0 180 180" to="360 180 180" repeatcount="indefinite" style="box-sizing:border-box"></animate>
</text>
</g>
</svg>
3、改变透明度效果
代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<text x="35%" y="20" fill="#898989" font-family="microsoft yahei,sans-serif" font-weight="bold" font-size="14">
前方还有高能!! <animate attributename="opacity" from="1" to="0" begin="0s" dur="1.2s" repeatcount="indefinite"></animate>
</text>
<text x="35%" y="40" fill="#767676" font-family="microsoft yahei,sans-serif" font-weight="bold" font-size="14">
前方还有高能!! <animate attributename="opacity" from="1" to="0" begin="0.2s" dur="1.2s" repeatcount="indefinite"></animate>
</text>
<text x="35%" y="60" fill="#646464" font-family="microsoft yahei,sans-serif" font-weight="bold" font-size="14">
前方还有高能!! <animate attributename="opacity" from="1" to="0" begin="0.4s" dur="1.2s" repeatcount="indefinite"></animate>
</text>
<text x="35%" y="80" fill="#333333" font-family="microsoft yahei,sans-serif" font-weight="bold" font-size="14">
前方还有高能!! <animate attributename="opacity" from="1" to="0" begin="0.6s" dur="1.2s" repeatcount="indefinite"></animate>
</text>
<text x="35%" y="100" fill="#000000" font-family="microsoft yahei,sans-serif" font-weight="bold" font-size="14">
前方还有高能!! <animate attributename="opacity" from="1" to="0" begin="0.8s" dur="1.2s" repeatcount="indefinite"></animate>
</text>
</svg>
</center>
4、超链接弹幕效果
代码:
<g>
<a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://mp.weixin.qq.com/s?__biz=MjM5NDA2MTM2MQ==&mid=401612109&idx=2&sn=c40aed3ccaf21ea917385c034e8c458a#rd" target="_blank"><text font-family="microsoft yahei,sans-serif" font-size="20" y="28" x="100%" fill="#c00000" font-weight="bold">
狂点我获得H5杀手大礼包!!! <animate attributename="x" from="100%" to="-200" begin="0s" dur="4s" repeatcount="indefinite"></animate>
</text></a>
</g></svg>
5、绘图+渐隐 效果
代码:
<path d="M12 21.35l-1.45-1.32c-5.15-4.67-8.55-7.75-8.55-11.53 0-3.08 2.42-5.5 5.5-5.5 1.74 0 3.41.81 4.5 2.09 1.09-1.28 2.76-2.09 4.5-2.09 3.08 0 5.5 2.42 5.5 5.5 0 3.78-3.4 6.86-8.55 11.54l-1.45 1.31z" style="fill: rgb(206, 30, 0); box-sizing: border-box;">
<animate attributetype="CSS" attributename="opacity" from="1" to="0" dur="4s" repeatcount="indefinite" style="box-sizing: border-box;"></animate>
</path>
</svg>
6、文字沿路径移动效果
代码:
<text font-family="microsoft yahei,sans-serif" font-size="14" x="-60" y="0" fill="#c00000" font-weight="bold">
跟着我左手右手一个慢动作 <animatemotion path="M150 0 L75 200 L225 200 Z" begin="0s" dur="5s" repeatcount="indefinite"></animatemotion>
</text>
</svg>
7、进阶玩法:图片背景的弹幕效果
(SVG+HTML+GIF结合运用)
代码:
<img src="http://mmbiz.qpic.cn/mmbiz/9x9BHGwhNttorNw4jDA3EqstTv50RQZSUic0mHk1fNYlHYSsMA4h1DuLwYwia4d3u27Thhpx4EyyAr5mK4QFX1DA/0?wx_fmt=gif"/>
<svg width="100%" height="200" xmlns="http://www.w3.org/2000/svg" style="margin-top: -160px;">
<text font-family="microsoft yahei,sans-serif" font-size="18" y="20" x="5%" fill="#c00000" font-weight="bold">
报名H5杀手训练营,系统学习SVG应用 <animate attributename="opacity" from="1" to="0" begin="0.8s" dur="5s" repeatcount="indefinite"></animate>
</text>
<text font-family="microsoft yahei,sans-serif" font-size="14" y="20" x="100%" fill="#ffffff" font-weight="bold">
SVG代码哪里学? <animate attributename="x" from="800" to="-400" begin="0s" dur="5.5s" repeatcount="indefinite"></animate>
</text>
<text font-family="microsoft yahei,sans-serif" font-size="14" y="34" x="100%" fill="#ffffff" font-weight="bold">
我好想学SVG!!! <animate attributename="x" from="800" to="-400" begin="0s" dur="5.5s" repeatcount="indefinite"></animate>
</text>
<text font-family="microsoft yahei,sans-serif" font-size="14" y="49" x="100%" fill="#ffffff" font-weight="bold">
我好想学SVG!!! <animate attributename="x" from="800" to="-400" begin="0s" dur="5.5s" repeatcount="indefinite"></animate>
</text>
<text font-family="microsoft yahei,sans-serif" font-size="14" y="28" x="100%" fill="#ffffff" font-weight="bold">
听说H5杀手训练营可以学SVG <animate attributename="x" from="800" to="-400" begin="0.8s" dur="5.5s" repeatcount="indefinite"></animate>
</text>
<text font-family="microsoft yahei,sans-serif" font-size="14" y="110" x="24%" fill="#ffffff" font-weight="bold">
听说H5杀手训练营可以学SVG <animate attributename="opacity" from="1" to="0" begin="1.6s" dur="1s" repeatcount="indefinite"></animate>
</text>
<text font-family="microsoft yahei,sans-serif" font-size="14" y="130" x="24%" fill="#ffffff" font-weight="bold">
听说H5杀手训练营可以学SVG <animate attributename="opacity" from="1" to="0" begin="1.2s" dur="1s" repeatcount="indefinite"></animate>
</text>
<text font-family="microsoft yahei,sans-serif" font-size="14" y="150" x="24%" fill="#ffffff" font-weight="bold">
听说H5杀手训练营可以学SVG <animate attributename="opacity" from="1" to="0" begin="0.8s" dur="1s" repeatcount="indefinite"></animate>
</text>
</svg>
7、一个小结
SVG就像CSS和HTML一样,是一个听起来很高大上,但实际上远没有多么复杂的一个名词。甚至只要你4级通过,几分钟就可以完全理解代码的含义。困难的地方在于怎么样使用SVG更有趣,SVG和CSS到底有多少花样结合玩法?我们抛砖引玉,欢迎你继续钻研。