CSS Transitions
CSSプロパティの変化を指定した時間で滑らかに補間する。ホバーやフォーカスなどの状態変化に自然な動きを追加でき、@keyframesより手軽に使える。transition-property・duration・timing-function・delay で制御する。
概要
CSSプロパティの変化を指定した時間で滑らかに補間する。ホバーやフォーカスなどの状態変化に自然な動きを追加でき、@keyframesより手軽に使える。transition-property・duration・timing-function・delay で制御する。
対応ブラウザ
デスクトップ
Chrome 26+
Edge 12+
Safari 9+
Firefox 16+
モバイル
Chrome Android 26+
Safari iOS 9+
Firefox Android 16+
基本構文
CSS
.button {
background-color: #3b82f6;
transition: background-color 0.2s ease, transform 0.2s ease;
}
.button:hover {
background-color: #2563eb;
transform: scale(1.05);
} 実務での使いどころ
-
ホバーエフェクト
ボタンやリンクのホバー時に色やサイズの変化を滑らかにする。
-
状態変化の視覚的フィードバック
フォーム入力のフォーカスやバリデーション結果を滑らかに表示する。
注意点
- display や visibility など、補間できないプロパティには transition が効かない。
- transition-duration が長すぎるとUIがもっさり感じるため、200〜400ms程度が推奨。
アクセシビリティ
- prefers-reduced-motion: reduce の場合は transition-duration を 0s にするなど配慮する。