Newly available 条件付きOK。Chrome 117+・Safari 17.4+・Firefox 129+・Edge 117+ で利用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
117
117
129
17.4
117
17.4
transition-behavior

`transition-behavior` 値

117
117
129
17.4
117
17.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

CSS
.popover {
  transition: opacity 0.3s ease,
              display 0.3s ease allow-discrete;
  opacity: 1;
}

.popover:not(:popover-open) {
  opacity: 0;
}

@starting-style {
  .popover:popover-open {
    opacity: 0;
  }
}

ライブデモ

allow-discrete 概念

transition-behavior の allow-discrete 概念 パターンです。

プレビュー全画面表示

フェードアウト遷移

transition-behavior の フェードアウト遷移 パターンです。

プレビュー全画面表示

通常の遷移(比較)

transition-behavior の 通常の遷移(比較) パターンです。

プレビュー全画面表示

実務での使いどころ

  • Popover のアニメーション

    Popover API で表示されるポップオーバーに、displayの遷移を含むスムーズなアニメーションを適用する。

注意点

  • @starting-style との組み合わせが前提となるケースが多い。
  • 離散プロパティの遷移はアニメーション中間値ではなく、タイミングの切り替えとなる。

アクセシビリティ

  • 表示・非表示のアニメーションは prefers-reduced-motion に対応し、即座に切り替わるようにする。