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

概要

overlayは、popoverや<dialog>などのトップレイヤー要素のトランジションをスムーズに行うためのCSSプロパティです。allow-discreteトランジションとして使用し、要素が閉じるアニメーション中にトップレイヤーから即座に除去されることを防ぎます。直接値を設定するのではなく、transitionプロパティの対象として指定する点が特徴です。

対応ブラウザ

デスクトップ

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

モバイル

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

基本構文

CSS
dialog {
  transition: opacity 0.3s, overlay 0.3s allow-discrete;
}
dialog:not([open]) {
  opacity: 0;
}

実務での使いどころ

  • ダイアログの滑らかな閉じアニメーション

    ダイアログやポップオーバーが閉じる際にフェードアウトなどのアニメーションを完了させてからトップレイヤーを解除できます。

注意点

  • overlayプロパティは直接設定するものではなく、transitionプロパティでallow-discreteと共に指定する必要があります。

アクセシビリティ

  • ダイアログの閉じアニメーションが長すぎると、支援技術との状態の不整合が生じる可能性があるため、適度な長さに設定してください。