基于HTML5 SVG的炫酷文字波浪动画特效

当前位置:主页 > Html5库 > SVG > 基于HTML5 SVG的炫酷文字波浪动画特效
基于HTML5 SVG的炫酷文字波浪动画特效
分享:

    插件介绍

    这是一款基于HTML5 SVG的炫酷文字波浪特效。该文字波浪动画特效在文字中使用SVG遮罩和CSS混合模式来制作波浪运动的效果,就像文字中有一片海洋一样,效果非常酷。

    浏览器兼容性

    浏览器兼容性
    时间:2015-10-07
    阅读:
简要教程

这是一款基于HTML5 SVG的炫酷文字波浪特效。该文字波浪动画特效在文字中使用SVG遮罩和CSS混合模式来制作波浪运动的效果,就像文字中有一片海洋一样,效果非常酷。

使用方法

HTML结构

文字波浪特效

在SVG中,使用<pattern>元素来作为波浪运动的模式。<text>元素是文字,在组g#eff中使用4个矩形来作为文字的遮罩层,并将它们的CSS混合模式设置为color-burn

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
   width="450px" height="240px" xml:space="preserve">
  <defs>
    <pattern id="water" width=".25" height="1.1" patternContentUnits="objectBoundingBox">
      <path fill="#000" d="M0.25,1H0c0,0,0-0.659,0-0.916c0.083-0.303,0.158,0.334,0.25,0C0.25,0.327,0.25,1,0.25,1z"/>
    </pattern>
    
    <text id="text" transform="translate(2,116)" font-family="'Cabin Condensed'" font-size="161.047">OCEAN</text>
    
    <mask id="text-mask">
      <use x="0" y="0" xlink:href="#text" opacity="1" fill="#ffffff"/>
    </mask>
    
    <g id="eff">
      <use x="0" y="0" xlink:href="#text" fill="#a2a3a5"/>
  
  <rect class="water-fill" mask="url(#text-mask)" fill="url(#water)" x="-300" y="50" width="1200" height="120" opacity="0.3">
    <animate attributeType="xml" attributeName="x" from="-300" to="0" repeatCount="indefinite" dur="2s"/>
  </rect>
   <rect class="water-fill" mask="url(#text-mask)" fill="url(#water)" y="45" width="1600" height="120" opacity="0.3">
    <animate attributeType="xml" attributeName="x" from="-400" to="0" repeatCount="indefinite" dur="3s"/>
  </rect>
      
  <rect class="water-fill" mask="url(#text-mask)" fill="url(#water)" y="55" width="800" height="120" opacity="0.3">
    <animate attributeType="xml" attributeName="x" from="-200" to="0" repeatCount="indefinite" dur="1.4s"/>
  </rect>
      <rect class="water-fill" mask="url(#text-mask)" fill="url(#water)" y="55" width="2000" height="120" opacity="0.3">
    <animate attributeType="xml" attributeName="x" from="-500" to="0" repeatCount="indefinite" dur="2.8s"/>
  </rect>
    </g>
  </defs>
 
    <use xlink:href="#eff" opacity="0.9" style="mix-blend-mode:color-burn"/>

</svg>