SVGに動きをつけてみる

こんにちは。ジップサービスでデザイナーをしているものです。

今回は前回の続き(サイトのロゴをPNGからSVG形式に変更)です。

前回紹介しましたSVG画像に動きを付けて見たいと思います。

cssでアニメーション

デモにマウスオーバーすると下部に現れる「RERUN」のボタンを押してみてください。文字の形にそってラインがアニメーションします!

イラストレーターで出力したsvgデータをテキストエディターで開くと、ソースコードが確認できます。

そのソースコードを使用して、表示し、該当箇所にcssで動きを付けていきます。

<div class="gip">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 370.9 57.3" style="enable-background:new 0 0 370.9 57.3;" xml:space="preserve">
<style type="text/css">
	.st0{fill:none;stroke:#000000;}
	.st1{font-family:'Kan415TyposStd-Regular-83pv-RKSJ-H';}
	.st2{font-size:52.3559px;}
</style>
<g id="layer">
<text transform="matrix(1 0 0 1 0.5 46.5732)" class="st0 st1 st2 gip_path">GIP SERVICE</text>
</g>
</svg>
</div>
.gip{
    text-align: center;
    position: relative;
    padding: 50px;
    width: 540px;
    margin: 0 auto;
}

.gip_path{stroke:#666;
fill:none;
stroke-width:1;
stroke-dasharray: 3000;
stroke-dashoffset:3000;
animation: DASH 9s ease-in alternate forwards;
-webkit-animation:DASH 9s ease-in 0s forwards;
-o-animation:DASH 9s ease-in 0s forwards;
animation:DASH 9s ease-in 0s forwards;
}
@keyframes DASH{
0%{stroke-dashoffset:3000;}
100%{stroke-dashoffset:0;}
}
@-moz-keyframes DASH{
0%{stroke-dashoffset:3000;}
100%{stroke-dashoffset:0;}
}
@-webkit-keyframes DASH{
0%{stroke-dashoffset:3000;}
100%{stroke-dashoffset:0;}
}
@-o-keyframes DASH{
0%{stroke-dashoffset:3000;}
100%{stroke-dashoffset:0;}
}
@-ms-keyframes DASHf{
0%{stroke-dashoffset:3000;}
100%{stroke-dashoffset:0;
}

画面中央に表示し、CSSの点線のプロパティである、stroke-dasharrayとstroke-dashoffsetを使って点線の幅を変化させることで、実際に線が引かれているかのようなアニメーションを実装しました。

まとめ

cssで各要素に変化が付けられますので、cssだけでも色々とできそうですね。
JavaScriptを使用すればもっと複雑な変化もつけられそうです。

Top