Атрибут popover
Атрибут popover указывает, что элемент, к которому добавлен этот атрибут, является всплывающим окном. Исходно у такого окна установлено стилевое свойство display со значением none, поэтому оно не отображается на веб-странице. Чтобы сделать окно видимым, к любой кнопке <button> добавляется атрибут popovertarget с именем идентификатора, заданного у элемента с атрибутом popover.
В примере ниже у элемента <div> задан атрибут id с идентификатором alert и атрибут popover. С этим <div> связана кнопка через атрибут popovertarget с тем же значением alert.
<div id="alert" popover>Всплывающее окно</div> <button popovertarget="alert">Отобразить</button>
При щелчке по кнопке отображается и связанное с кнопкой всплывающее окно (рис. 1).
Рис. 1. Вид всплывающего окна
Такое окно содержит белый фон и толстую чёрную рамку, выводится в центре видимой области браузера, размеры окна подстраиваются под его содержимое.
Взаимодействие со всплывающим окном различается в разных браузерах. Chrome, Opera, Safari, Edge и другие браузеры на движке Webkit закрывают окно при нажатии на клавишу Esc или при щелчке по любому месту веб-страницы за пределами окна. Браузер Firefox закрывает окно только при щелчке по связанной с ним кнопке.
Для управления стилем окна можно использовать селектор [popup], а для изменения заднего фона под всплывающим окном применяется псевдоэлемент ::backdrop.
Синтаксис
popover | popover="auto | manual"
Значения
- auto
- Закрывает все открытые всплывающие окна. Также вместо auto допустимо указывать пустое значение (popover="") или вообще не писать значение (popover).
- manual
- Уже открытые всплывающие окна не закрываются.
Значение по умолчанию
auto
Пример
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>popover</title> </head> <body> <div id="fab" popover> <form action="handler.php"> <p>Новая категория</p> <p><input name="category" placeholder="Введите имя категории" autofocus></p> <p><button>Создать</button></p> </form> </div> <button popovertarget="fab" class="btn-fab"> <img src="image/button-plus-white.svg" alt=""> </button> </body> </html>
Примечание
В Firefox атрибут popover по умолчанию отключен. Для его работы в настройках программы по адресу about:config следует найти параметр dom.element.popover.enabled и установить ему значение true (рис. 2).
Рис. 2. Настройка параметров в Firefox
Спецификация
Браузеры
114 | 114 | 100 | 17 | 114 |
114 | 17 |