Widely available 安心して使用可能。すべての主要ブラウザで広くサポートされている。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
26
12
16
9
26
9
DOM API

CSSTransition はWeb Animations API のインターフェイスで、CSS トランジションで使用される Animation オブジェクトです。

84
84
75
13.1
84
13.4

transitionProperty は CSSTransition インターフェイスのプロパティで、トランジションの 展開されたトランジションプロパティ名 を返します。これは、トランジションが生成された個別指定の CSS プロパティです。

84
84
75
13.1
84
13.4

transitioncancel イベントは、 CSS トランジションがキャンセルされたときに発生します。

87
87
53
13.1
87
13.4

transitionend イベントは、 CSS トランジションが完了したときに発生します。トランジションが完了前に削除された場合、例えば transition-property が削除されたり、 display が none に設定されたりした場合、イベントは生成されません。

26
18
51
7
26
7

transitionrun イベントは、 CSS トランジションが最初に生成されたとき、すなわち transition-delay が始まる前に発生します。

74
12
53
13.1
74
13.4

transitionstart イベントは、 CSS トランジションが実際に始まったとき、すなわち transition-delay が終了した後に発生します。

74
12
53
13.1
74
13.4

TransitionEvent インターフェイスは、トランジションに関する情報を提供するイベントを表します。

27
12
4
7
27
7

TransitionEvent.elapsedTime は読み取り専用プロパティで、このイベントが発行された時にアニメーションが実行されていた秒数を float 型で返します。この値は transition-delay プロパティの影響を受けません。

2
12
4
6
18
6

propertyName は TransitionEvent オブジェクトの読み取り専用プロパティで、このトランジションに関連する CSS プロパティの名前を格納した文字列です。

2
12
4
6
18
6

TransitionEvent.pseudoElement は読み取り専用プロパティで、アニメーションが実行されている '::' で始まる擬似要素の名前が入っている文字列です。トランジションが擬似要素で実行されない場合は、要素は空文字列 ("") です。

2
79
23
6
18
6

TransitionEvent() コンストラクターは新しい TransitionEvent オブジェクトを返します。これはトランジションに関するイベントを表します。

27
14
23
7
27
7
その他

CSS の transition-delay プロパティは、値が変更されたときにプロパティのトランジション効果が始まるまでの待ち時間を指定します。

26
12
16
9
26
9

transition-duration は CSS のプロパティで、トランジションによるアニメーションが完了するまでの再生時間を秒数またはミリ秒数で指定します。既定値は 0s であり、これはアニメーションを実行しないことを示します。

26
12
16
9
26
9

transition-property は CSS のプロパティで、トランジション効果を適用する CSS プロパティを指定します。

26
12
16
9
26
9
CSS プロパティ
IDENT value

`IDENT`値

1
12
16
4
18
3
all
1
12
4
3.1
18
2
none
1
12
4
3.1
18
2
その他

transition-timing-function は CSS のプロパティで、トランジション効果の影響を受ける CSS プロパティにおいて、中間状態の値を算出する方法を設定するために使用されます。

26
12
16
9
26
9
CSS プロパティ
ease
1
12
4
3.1
18
2
ease-in
1
12
4
3.1
18
2
ease-in-out
1
12
4
3.1
18
2
ease-out
1
12
4
3.1
18
2
jump

`steps()` の `jump-` キーワード

77
79
65
14
77
14
linear
1
12
4
3.1
18
2
step-end
1
12
4
3.1
18
2
step-start
1
12
4
3.1
18
2
all
1
12
4
3.1
18
2
ease
1
12
4
3.1
18
2
ease-in
1
12
4
3.1
18
2
ease-in-out
1
12
4
3.1
18
2
ease-out
1
12
4
3.1
18
2
gradients can animate

グラデーションをアニメーション化できる

12
Preview
linear
1
12
4
3.1
18
2
none
1
12
4
3.1
18
2
step-end
1
12
4
3.1
18
2
step-start
1
12
4
3.1
18
2
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (12)
注釈 6件
実装メモ
  • Firefox 57 より前では、色が指定された `text-shadow` から色が指定されていない `text-shadow` に遷移する場合、トランジションは機能しませんでした (バグ 726550 を参照)。
  • Firefox 57 より前では、塗りつぶしアニメーション (たとえば、`animation-fill-mode: forwards` を設定した状態) をキャンセルすると、1 回だけではありますが、同じ要素に設定された遷移をトリガーできます (詳細については、バグ 1192592 とこれらのテスト ケースを参照してください)。
  • Firefox 57 より前では、`background-position` プロパティは、異なる数の `<position>` 値を含む 2 つの値 (たとえば、`background-position: 10px 10px;` と `background-position: 20px 20px, 30px 30px;`) の間で移行することはできません (バグ 1390446 を参照)。
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (49)
  • ベンダープレフィックス付きで対応: -moz- (4)
削除済み
  • このバージョンで機能が削除されました (preview)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (3.1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (18)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (2)
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (87)
実装メモ
  • `ontransitioncancel` イベント ハンドラー プロパティはサポートされていません。 このイベントをリッスンするには、`element.addEventListener('transitioncancel', function() {});` を使用します。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (87)
実装メモ
  • `ontransitioncancel` イベント ハンドラー プロパティはサポートされていません。 このイベントをリッスンするには、`element.addEventListener('transitioncancel', function() {});` を使用します。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (13.1)
実装メモ
  • `ontransitioncancel` イベント ハンドラー プロパティはサポートされていますが、`transitioncancel` イベントは決して発生しません。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (87)
実装メモ
  • `ontransitioncancel` イベント ハンドラー プロパティはサポートされていません。 このイベントをリッスンするには、`element.addEventListener('transitioncancel', function() {});` を使用します。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (13.4)
実装メモ
  • `ontransitioncancel` イベント ハンドラー プロパティはサポートされていますが、`transitioncancel` イベントは決して発生しません。
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: webkit (1)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18)
実装メモ
  • `ontransitionend` イベント ハンドラー プロパティはサポートされていません。 このイベントをリッスンするには、`element.addEventListener('transitionend', function() {});` を使用します。
対応条件
  • ベンダープレフィックス付きで対応: webkit (79)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: webkit (4)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: webkit (18)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: webkit (3.2)
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (13.1)
実装メモ
  • イベント ハンドラーは存在しますが、呼び出されることはありません。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (13.4)
実装メモ
  • イベント ハンドラーは存在しますが、呼び出されることはありません。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (13.1)
実装メモ
  • イベント ハンドラーは存在しますが、呼び出されることはありません。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (13.4)
実装メモ
  • イベント ハンドラーは存在しますが、呼び出されることはありません。
注釈 2件
削除済み
  • このバージョンで機能が削除されました (71)
対応条件
  • ベンダープレフィックス付きで対応: WebKit (2)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: WebKit (4)
注釈 2件
削除済み
  • このバージョンで機能が削除されました (71)
対応条件
  • ベンダープレフィックス付きで対応: WebKit (18)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: WebKit (3)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: WebKit (6)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: WebKit (6)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (12)
注釈 3件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (49)
  • ベンダープレフィックス付きで対応: -moz- (4)
削除済み
  • このバージョンで機能が削除されました (126)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (4)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (18)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (2)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (12)
注釈 3件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (49)
  • ベンダープレフィックス付きで対応: -moz- (4)
削除済み
  • このバージョンで機能が削除されました (126)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (3.1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (18)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (2)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (12)
注釈 3件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (49)
  • ベンダープレフィックス付きで対応: -moz- (4)
削除済み
  • このバージョンで機能が削除されました (126)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (3.1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (18)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (2)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (12)
注釈 3件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (49)
  • ベンダープレフィックス付きで対応: -moz- (4)
削除済み
  • このバージョンで機能が削除されました (126)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (3.1)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (18)
注釈 1件
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (2)
注釈 1件
削除済み
  • このバージョンで機能が削除されました (79)

基本構文

CSS
.button {
  background-color: #3b82f6;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.button:hover {
  background-color: #2563eb;
  transform: scale(1.05);
}

ライブデモ

backgroundcolor. transition

CSS Transitions backgroundcolor. transition demo.

プレビュー全画面表示

Size. transition

CSS Transitions Size. transition demo.

プレビュー全画面表示

compositeproperty

CSS Transitions compositeproperty demo.

プレビュー全画面表示

実務での使いどころ

  • ホバーエフェクト

    ボタンやリンクのホバー時に色やサイズの変化を滑らかにする。

  • 状態変化の視覚的フィードバック

    フォーム入力のフォーカスやバリデーション結果を滑らかに表示する。

注意点

  • display や visibility など、補間できないプロパティには transition が効かない。
  • transition-duration が長すぎるとUIがもっさり感じるため、200〜400ms程度が推奨。

アクセシビリティ

  • prefers-reduced-motion: reduce の場合は transition-duration を 0s にするなど配慮する。