≪ Today I learned. RSS購読
公開日
タグ
HTML
著者
ダーシノ(@bc_rikko)

Popover=hintの使い方

Popover APIの新しいモードとしてhintが導入されようとしている。

デフォルトのpopover="auto"の場合、popoverで表示した要素が排他的に制御されるため、一度に複数の要素を表示できない。popover="hint"を使うことで、メニューを表示しながらツールチップを表示するという処理が実現できる。

popover=“auto”

以下のようにポップオーバーが複数ある場合は排他的に処理され、Popover2を開くと、すでに開いていたPopover1が閉じられるような挙動になる。

<div id="popover1" popover>Popover 1</div>
<button popovertarget="popover1">Popover 1を開く</button>

<div id="popover2" popover>Popover 2</div>
<button popovertarget="popover2">Popover 2を開く</button>

デモ

Popover 1
Popover 2

popover=“hint”

popover="auto"では、先述のとおり排他的に制御されてしまうため、「メニューを開きながらツールチップを表示する」という処理ができなかった。

poover="hint"を使うことで、popover="auto"popover="hint"の要素を同時に表示することができる。ただし、popover="hint"の要素が複数ある場合は、その中で排他的に制御される。

<div id="popover" popover>Popover</div>
<button popovertarget="popover">Popoverを開く</button>

<div id="hint1" popover>Hint 1</div>
<button popovertarget="hint1">Hint 1を開く</button>

<div id="hint2" popover>Hint 2</div>
<button popovertarget="hint2">Hint 2を開く</button>

デモ

Popover
Hint 1
Hint 2

※キーボード操作でボタンを押すと、autoとhintを同時に表示できる

popover="auto"とpopover="hint"を付与した要素が並んでおり、それぞれのボタン押すとpopoverが表示される