transition は、CSS プロパティの値が変化する際に「即座にパチっと切り替わる」のではなく、「なめらかに補間しながら変化する」ようにするためのプロパティです。
Web の UX において「動き」は単なる装飾ではなく、ユーザーの認知を助ける重要な手がかりです。ボタンがホバーで色を変える、モーダルがフェードインするなど、transition が適切に使われたインターフェースは「生きているUI」として直感的に操作できます。
transition は4つのサブプロパティの短縮形です。
・transition-property:アニメーションするプロパティ名
・transition-duration:変化にかかる時間(必須)
・transition-timing-function:速度変化の曲線(イージング)
・transition-delay:変化が始まるまでの待機時間
animation との最大の違いは「トリガーの存在」です。transition はあくまで「状態Aから状態Bへの橋渡し」であり、CSS のある値が変化するという外部のトリガー(クラスの付け替えや :hover など)なしには発動しません。
このシンプルさが、UI の微細なインタラクション実装における最強の武器になります。