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 concept

transition-behavior Allow-discrete concept demo.

プレビュー全画面表示

fade outtransition

transition-behavior fade outtransition demo.

プレビュー全画面表示

Normal. transition(comparison)

transition-behavior Normal. transition(comparison) demo.

プレビュー全画面表示

実務での使いどころ

  • Popover のアニメーション

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

注意点

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

アクセシビリティ

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