Limited support 注意が必要。一部のブラウザのみ対応。プロダクション利用は慎重に判断すること。

概要

従来はdisplay: noneへの切り替えにアニメーションを適用できませんでしたが、この機能により要素の表示・非表示にスムーズなトランジションが可能になります。モーダルやツールチップなどの出現・消失アニメーションをJavaScriptなしで実現できます。@starting-styleルールと組み合わせて使用します。

対応ブラウザ

デスクトップ

Chrome 117+
Edge 117+
Safari 18+
Firefox 未対応

モバイル

Chrome Android 117+
Safari iOS 18+
Firefox Android 未対応

基本構文

CSS
.modal {
  transition: opacity 0.3s, display 0.3s allow-discrete;
  opacity: 0;
  display: none;
}
.modal.open {
  opacity: 1;
  display: block;
}

実務での使いどころ

  • モーダルのフェードイン・アウト

    display: noneからblockへの切り替え時にフェードアニメーションを適用し、モーダルダイアログの出現を滑らかにします。

注意点

  • Firefoxでは未対応のため、JavaScriptベースのアニメーション制御をフォールバックとして検討してください。

アクセシビリティ

  • 要素の表示・非表示アニメーション中もフォーカス管理を適切に行い、アニメーション完了後にフォーカスが正しい要素に移動するようにしてください。