【ポップオーバーエーピーアイ】
Popover API とは?
最終更新:
💡 前面に出す要素の開閉を、ブラウザの仕組みで扱う
ページの他の内容より前面に、非モーダルの要素を表示するHTMLとJavaScriptの仕組み。基本の開閉はHTML属性だけでも指定でき、表示中の要素はトップレイヤーで管理される。
📌 このページのポイント
- popoverとpopovertargetで、ボタンによる基本の開閉を指定できる
- 表示中はトップレイヤーに入り、通常のページ内容より前面に出る
- autoは外側クリックなどで閉じるが、manualは同じ閉じ方をしない
- 位置・見た目・用途に応じた意味付けや操作の設計は別に行う
HTML属性だけでボタンからの基本の開閉を指定できるよ。例えばpopovertarget="menu"のボタンと、id="menu"にpopoverを付けた要素を関連付ける。位置や見た目、内容に応じた操作や意味付けは設計する必要があり、全部を自動で完成させる機能ではないんだ
外側をクリックすると必ず閉じるの?
popoverだけ、またはpopover="auto"なら、外側のクリックやEscなどで閉じられるよ。popover="manual"は外側クリックでは閉じないので、開閉ボタンなどを用意する。値によって動作が違うため、必要な振る舞いを確認するんだ
dialogタグとは何が違うの?
トップレイヤーなら位置も決まるの?
どのブラウザでも同じように使える?
📖 おまけ:英語の意味
「Popover API」 = ポップオーバーを扱うAPI
💬 Popoverは、他の内容の上に表示する要素を指すよ。Popover APIでは表示や非表示をHTML属性やJavaScriptで操作でき、背面を操作不可にするモーダルにはならないんだ