今回はCSS3で流れる雲のアニメーションをつけてみましょう!
背景はグラデーションで指定するので、雲の画像の背景は透明にしておきます。
1 2 3 4 5 6 |
<body> <div id="wrap"> <div id="cloud"> </div> </div> </body> |
HTMLはこれだけでOK!
#wrapの背景にグラデーションを指定します。
1 2 3 4 5 6 7 8 9 10 |
#wrap{ width:800px; height:500px; margin:30px auto 0; background-image: -o-linear-gradient(bottom, #4DB6EB 0%, #99D8DE 100%); background-image: -moz-linear-gradient(bottom, #4DB6EB 0%, #99D8DE 100%); background-image: -webkit-linear-gradient(bottom, #4DB6EB 0%, #99D8DE 100%); background-image: -ms-linear-gradient(bottom, #4DB6EB 0%, #99D8DE 100%); background-image: linear-gradient(to bottom, #4DB6EB 0%, #99D8DE 100%); } |
次に雲の画像を追加してアニメーションをつけていきます。
1 2 3 4 5 6 7 8 |
#cloud{ width:800px; height:800px; background:url(../images/clouds.png); animation: cloudmove 20s linear infinite; -webkit-animation: cloudmove 20s linear infinite; -moz-animation: cloudmove 20s linear infinite; } |
animationのcloudMoveの部分は@keyframesの名前の指定で、自由に名前をつけることができます。
linearは一定の早さを、infiniteは無限にループする指定をしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
@keyframes cloudmove { 0% {background-position: 0 0;} 25% {background-position: 200px 5px;} 50% {background-position: 400px 0;} 75% {background-position: 600px 5px;} 100% {background-position: 800px 0;} } @-webkit-keyframes cloudmove { 0% {background-position: 0 0;} 25% {background-position: 200px 5px;} 50% {background-position: 400px 0;} 75% {background-position: 600px 5px;} 100% {background-position: 800px 0;} } @-moz-keyframes cloudmove { 0% {background-position: 0 0;} 25% {background-position: 200px 5px;} 50% {background-position: 400px 0;} 75% {background-position: 600px 5px;} 100% {background-position: 800px 0;} } |
0~100%内でアニメーションに動きを指定することが出来ます。
数値% {background-position: X方向 Y方向;}
また、animationと@keyframesにはベンダープレフィックスを忘れずにつけましょう。
このようにCSSだけで簡単にアニメーションをつくることが出来ます。
雲以外にも様々なアニメーションをCSS3だけでも作っていけそうですね!
ホームページに関するお悩みは、仙台のホームページ制作アド・エータイプにお任せください!