COLUMN コラム
2021.7.5
CSSアニメーション「@keyframes」の使い方
CSSアニメーションの設定は初めての人にとっては難しいですよね。
今回は@keyframesをはじめて使う方、CSSだけを使ってアニメーションさせたい方にとても簡単にできるアニメーション作成を紹介します。
目次
1.@keyframesとは
2.@keyframesの使い方①
2-1. htmlファイルにボックスを用意する
2-2. CSSファイルにボックスのスタイルを書く
2-3. CSSファイルにアニメーションの記述を書く
2-4. 完成
3.@keyframesの使い方②
3-1. htmlファイルにボックスを用意する
3-2. CSSファイルにボックスのスタイルを書く
3-3. CSSファイルにアニメーションの記述を書く
3-4. 完成
おわりに
1. @keyframesとは
指定した時間の中で、どのように変化(アニメーション)をするかを設定できるものです。
CSSファイルに書けるので、手軽に取り入れられます。
2. @keyframesの使い方①
■今回作成するもの
赤いボックスを5秒の中で色を変化させるアニメーションを作成します。
5秒の中で赤→緑→黄色に変化をさせます。
手順は下で説明します。
2-1. htmlファイルにボックスを用意する
<div class="box">
</div>
2-2. CSSファイルにボックスのスタイルを書く
animation-nameはアニメーション名を書きます。
自分の好きな名前を付けます。
animation-durationはアニメーション全体の秒数です。
自分の好きな時間を設定してください。
今回は5秒(5s)にしました。
.box {
width: 200px;
height: 50px;
animation-name: color-animation;
animation-duration:5s;
}
2-3. CSSファイルにアニメーションの記述を書く
@kryframesの後ろに上記でつけたanimation-nameを書きます。
今回はcolor-animationという名前にします。
0%が最初の色(赤)→50%が次の色(緑)→100%が最後の色(黄色)です。
@keyframes color-animation {
0% {
background-color : red;
}
50% {
background-color : green;
}
100% {
background-color : yellow;
}
}
2-4. 完成
結果
3. @keyframesの使い方②
さきほどと同じ要領で別のアニメーションも作成していきます。
■今回作成するもの
5秒の中で赤丸を360度回転させます。
3-1. htmlファイルに赤丸を用意する
回転の際に回転をわかりやすくするために中にハートを入れました。
<div class="circle">
<div class="heart">❤︎</div>
</div>
3-2. CSSファイルに赤丸のスタイルを書く
.circle {
position: relative;
width: 100px;
height: 100px;
border-radius: 50%;
background-color: red;
animation-name: circle-animation;
animation-duration:5s;
}
/* ハートのスタイル */
.heart {
position: absolute;
font-size: 25px;
color: white;
top: 30px;
left: 39px;
}
3-3. CSSファイルにアニメーションの記述を書く
@keyframes circle-animation {
0% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
3-4. 完成
結果
おわりに
簡単な@keyframesの使い方をご紹介しました。
今回は0%、50%、100%で作成しましたが、0%、20%、50%、70%、100%など細かく時間経過を設定することができます。
使い方によっては複雑なアニメーションも作成できるので、今後も色々な使い方を見つけていきたいと思います。
弊社では士業やメディア、医療関係を中心にサイト制作を行っております。webサイトについてお悩みのある方はお気軽にお問い合わせください。
DOLに制作を相談する