这是一组基于SVG过滤器的按钮变形动画特效。通过为HTML元素添加SVG滤镜可以制作出非常有趣的效果,在这组效果中有按钮扭曲震动,波浪效果,Gooey效果等10种不同的按钮点击效果。
这组基于SVG过滤器的按钮变形动画特效目前只有Chrome和Firefox浏览器才支持,关于支持CSS filters(CSS过滤器)的浏览器,可以查看这里。
使用方法
HTML结构
特效中使用的按钮是一个<button>元素。
<button class="button">按 钮</button>
然后在HTML中,在<svg>元素中定义一个滤镜。
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="svg-filters">
<defs>
<filter id="filter">
<feTurbulence type="fractalNoise" baseFrequency="0 0.15" numOctaves="1" result="warp" />
<feDisplacementMap xChannelSelector="R" yChannelSelector="G" scale="30" in="SourceGraphic" in2="warp" />
</filter>
</defs>
</svg>
接着在CSS中为按钮使用滤镜效果。
.button {
/* other styles */
-webkit-filter: url("#filter");
filter: url("/#filter");
}
注意filter: url("/#filter");声明中的“/”,在Firefox中必须带上它才能有滤镜效果。
关于SVG过滤器的使用方法,可以参考:SVG进阶 | SVG过滤器(SVG Filters)
原文地址:http://tympanus.net/codrops/2016/05/11/distorted-button-effects-with-svg-filters/