※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
⚠お酒は二十歳になってから。
目次
CSSアニメーション一覧 サンプルプログラム
アニメーション一覧から見たいものを選択するのよ!記事下部には、アニメーションの説明が記載してあるわ!
アニメーションを応用したくなったら、生成AIのChatGPTやClaudeに聞いてみるのがおすすめよ!
CSSアニメーション説明 HTML・CSSコード
フェードイン
透明から不透明へのフェードインアニメーションです。
<div class="fade-in">フェードイン</div>
<style>
.fade-in {
opacity: 0;
animation: fadeIn 2s ease-in forwards;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
</style>
写真をゆっくりと表示させるときなどに使用すると注目を集めやすいわ!静かな登場が印象的で、ページに落ち着きと雰囲気を持たせることができるのよ!
スライドイン
要素が指定した方向から滑らかにスライドして表示されるアニメーションです。
<div class="slide-in">スライドイン</div>
<style>
.slide-in {
animation: slideIn 1s ease-out;
}
@keyframes slideIn {
from {
transform: translateX(-100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
</style>
横から要素をスライドさせて表示させたいときに使ってね!ポップな動きでページの印象を強くする効果があるわよ!
回転
要素を中心に回転させるアニメーションです。
<div class="rotate">回転</div>
<style>
.rotate {
animation: rotate 2s linear infinite;
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
</style>
アイコンやロードの演出にぴったりね!回転する動きが目を引く効果をもたらすわ!
パルス
要素が拡大・縮小を繰り返すアニメーションです。
<div class="pulse">パルス</div>
<style>
.pulse {
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
}
</style>
軽いインタラクションとして、ボタンや通知に使うと効果的よ!
バウンス
要素が弾むような動きをするアニメーションです。
<div class="bounce">バウンス</div>
<style>
.bounce {
animation: bounce 2s infinite;
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
}
</style>
動きが楽しいから、注意を引きたい部分やインタラクション要素に使えるわね!
シェイク
要素が小刻みに振動するようなアニメーションです。
<div class="shake">シェイク</div>
<style>
.shake {
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
}
@keyframes shake {
10%, 90% {
transform: translateX(-1px);
}
20%, 80% {
transform: translateX(2px);
}
30%, 50%, 70% {
transform: translateX(-4px);
}
40%, 60% {
transform: translateX(4px);
}
}
</style>
エラーメッセージや警告として、注意喚起をしたいときにぴったりね!
フリップ
素が3D回転して裏返るアニメーションです。
<div class="flip">フリップ</div>
<style>
.flip {
animation: flip 1s ease-in-out;
}
@keyframes flip {
from {
transform: rotateY(0);
}
to {
transform: rotateY(180deg);
}
}
</style>
カードの裏返しや、画像の切り替えなどに使うと楽しいわよ!
ズームイン
要素が拡大して表示されるアニメーションです。
<div class="zoom-in">ズームイン</div>
<style>
.zoom-in {
animation: zoomIn 1s ease-in;
}
@keyframes zoomIn {
from {
transform: scale(0.5);
opacity: 0;
}
to {
transform: scale(1);
opacity: 1;
}
}
</style>
イメージを際立たせたいときや重要なコンテンツを目立たせたいときに使えるわよ!
スウィング
要素が左右に揺れるアニメーションです。
<div class="swing">スウィング</div>
<style>
.swing {
animation: swing 1s ease-in-out infinite;
}
@keyframes swing {
20% {
transform: rotate(15deg);
}
40% {
transform: rotate(-10deg);
}
60% {
transform: rotate(5deg);
}
80% {
transform: rotate(-5deg);
}
100% {
transform: rotate(0deg);
}
}
</style>
ちょっとした遊び心を加えたいときに、楽しいアクセントとして使えるわね!
フロートイン
要素がゆっくり浮かび上がるアニメーションです。
<div class="float-in">フロートイン</div>
<style>
.float-in {
animation: floatIn 2s ease-in-out;
}
@keyframes floatIn {
from {
transform: translateY(50px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
</style>
ページの要素を軽やかに見せたいときにぴったりね!優雅な動きで魅せるわよ!
ジェリー
要素がゴムのように伸縮するアニメーションです。
<div class="jelly">ジェリー</div>
<style>
.jelly {
animation: jelly 0.6s ease-in-out;
}
@keyframes jelly {
0% {
transform: scale(1, 1);
}
25% {
transform: scale(1.25, 0.75);
}
50% {
transform: scale(0.75, 1.25);
}
100% {
transform: scale(1, 1);
}
}
</style>
コミカルで印象的な動きが出るので、アイキャッチとして使えるわよ!
ブラー
要素がぼやけてから表示されるアニメーションです。
<div class="blur">ブラー</div>
<style>
.blur {
animation: blurIn 1s ease-in;
}
@keyframes blurIn {
from {
filter: blur(10px);
opacity: 0;
}
to {
filter: blur(0);
opacity: 1;
}
}
</style>
画像やテキストに神秘的な印象を与えるのにぴったりね!
スキュー
要素が傾いて表示されるアニメーションです。
<div class="skew">スキュー</div>
<style>
.skew {
animation: skewIn 1s ease-in-out;
}
@keyframes skewIn {
from {
transform: skewX(20deg);
opacity: 0;
}
to {
transform: skewX(0deg);
opacity: 1;
}
}
</style>
動きのあるインターフェースやデザインで使うとオシャレに仕上がるわよ!
カラーチェンジ
要素の色が徐々に変わるアニメーションです。
<div class="color-change">カラーチェンジ</div>
<style>
.color-change {
animation: colorChange 3s infinite alternate;
}
@keyframes colorChange {
from {
background-color: red;
}
to {
background-color: blue;
}
}
</style>
注目を集めたい部分や、動きを持たせたい背景などに使えるわね!
タイプライター
文字が一つずつ表示されるアニメーションです。
<div class="typewriter">タイプライターアニメーション</div>
<style>
.typewriter {
font-family: monospace;
white-space: nowrap;
overflow: hidden;
border-right: 2px solid;
animation: typing 4s steps(40, end), blink 0.75s step-end infinite;
}
@keyframes typing {
from {
width: 0;
}
to {
width: 100%;
}
}
@keyframes blink {
50% {
border-color: transparent;
}
}
</style>
文字がタイプされるように見える演出は、タイトルやキャッチコピーに使うとカッコイイわよ!
CSS アニメーション よくある質問
Q:CSSアニメーションとJavaScriptアニメーションの違いは何ですか?
A:CSSアニメーションはスタイルシートだけで簡単に動きを作ることができるので、処理落ちを起こしづらくパフォーマンスが高いです。
一方、JavaScriptアニメーションはより複雑な動きやユーザーの操作に連動したアニメーションを作りやすいです。
しかし、コードが少し複雑になることがあります。
Q:アニメーションがスムーズに動かない場合はどうすればいいですか?
A:アニメーションがカクカクする原因は、ブラウザのパフォーマンスやコードの最適化不足が考えられます。
top や left などのプロパティを使うと、性能が低下することがあるので注意が必要です。
Q:アニメーションの再生を繰り返す方法はありますか?
A:アニメーションを繰り返し再生するためには、animation-iteration-count プロパティを使います。
回数を指定したり、infinite と設定することで無限にアニメーションを繰り返すことができます。
animation-iteration-count: infinite;
これによりアニメーションが止まることなく、ずっと繰り返されるようになります。
【まとめ】CSSアニメーションはWebページに取り入れることで簡単に差別化できるデザイン要素!
CSSアニメーションは、コードがシンプルで軽量なため、Webサイトに動きを加えたいときにとても便利なツールです。
基本的なフェードインやスライドインから、少し高度な回転やパルスなど、用途に応じて様々なアニメーションを活用できます。
この記事では、よく使われるアニメーションの具体的なコードや、アニメーションをよりスムーズに動かすためのコツ、アニメーションを繰り返す方法や途中で停止する方法など、実践的なポイントも紹介しました。
特に、CSSで動きを加える際にはパフォーマンスを意識し、transformやopacityといったプロパティをうまく活用することが重要です。
アニメーションを適切に使うことで、Webページがより楽しくユーザーにとって魅力的なものになります。
今回紹介したテクニックを参考に、あなたのサイトにもぜひCSSアニメーションを取り入れてみてください!
今後も役立つ情報を発信していきますので、お楽しみにしていてください!
また、Xのフォロー(@haizakura32)やYouTubeで生成AI関連の動画を見てくれると嬉しいです!