CSSトランジション vs アニメーション:違いと使い分け

CSSトランジション vs アニメーション:違いと使い分け

CSSトランジション vs アニメーション:違いと使い分け

CSSで「動き」を作る方法には transitionanimation の2種類があります。どちらも見た目の変化をスムーズにするための機能ですが、目的や使い方には明確な違いがあります。この記事では、それぞれの特徴と使い分け方を分かりやすく解説します。

transitionの基本と使い方

transition は、ある状態から別の状態に変化する際にアニメーション効果を加えるプロパティです。主に :hover:focus などのイベントと組み合わせて使用します。

基本構文

CSS
.btn-button {
  background-color: #3498db;
  border-radius: 0.4em;
  padding: 0.5em 1.5em;
  transition: background-color 0.3s ease;
}

.btn-button:hover {
  background-color: #1abc9c;
}

この例では、マウスホバー時にボタンの色が滑らかに変わります。

主なプロパティ

  • transition-property:変化させたいプロパティ
  • transition-duration:変化にかける時間
  • transition-timing-function:変化の速度カーブ
  • transition-delay:変化を開始するまでの遅延時間

animationの基本と使い方

animation は、@keyframes で定義した動きを自動的に再生・繰り返すことができるプロパティです。
ユーザー操作がなくても動かせるのが特徴です。

基本構文

CSS
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

.ball {
  width: 50px;
  height: 50px;
  background: #f39c12;
  border-radius: 50%;
  animation: bounce 1s ease-in-out infinite;
}

このコードでは、オレンジの円が上下に弾むように動き続けます。

主なプロパティ

  • animation-name:再生する@keyframes名
  • animation-duration:アニメーションの再生時間
  • animation-timing-function:再生速度のカーブ
  • animation-iteration-count:繰り返し回数
  • animation-direction:再生方向(normal, reverseなど)

transitionとanimationの違い

項目transitionanimation
発火条件状態変化(hoverなど)自動または手動で制御
繰り返し不可(1回のみ)可能(infinite可)
制御の細かさ限定的keyframesで自由度高い
主な用途ボタンやリンクのホバー効果バナーやローディングなどの動き

実践:transitionとanimationを組み合わせる

両者を組み合わせることで、よりリッチなUI演出が可能です。

例:発光するボタン

HTML
<a href="#" class="btn-glow">Glow Button</a>
CSS
.btn-glow {
  display: inline-block;
  padding: 12px 24px;
  color: #fff;
  background: #3498db;
  border-radius: 6px;
  transition: transform 0.2s;
  animation: glow 2s ease-in-out infinite;
}

.btn-glow:hover {
  transform: translateY(-4px);
}

@keyframes glow {
  0%, 100% {
    box-shadow: 0 0 5px #3498db;
  }
  50% {
    box-shadow: 0 0 20px #5dade2;
  }
}

ワンポイントアドバイス

hover効果や動く背景など、transitionとanimationをバランスよく使うと、動きのあるデザインが生まれます。目的に応じて最適な方を選びましょう。

関連記事

PAGE TOP