Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник HTML & CSS

<dialog>

Диалоговое окно; модальное открывается методом `showModal()` и блокирует остальную страницу.

Синтаксис

<dialog id="d">…</dialog>

Атрибуты

ПараметрТипОписание
open—Показать диалог как обычный блок (без затемнения фона).
closedbyany | closerequest | noneНеобязательный. Чем можно закрыть: кликом снаружи, клавишей Esc или ничем.

Примеры

Модальное окно с кнопкой закрытия:

<button onclick="note.showModal()">Show the offer</button>
 
<dialog id="note">
  <p>Today only: a free cookie with every latte!</p>
  <form method="dialog">
    <button>Close</button>
  </form>
</dialog>

Оформление окна и фона под ним:

<style>
  dialog { border: none; border-radius: 12px; padding: 20px; }
  dialog::backdrop { background: rgb(0 0 0 / 0.5); }
</style>
 
<button onclick="d.showModal()">Open</button>
<dialog id="d"><p>Styled dialog</p><button onclick="d.close()">OK</button></dialog>

Примечания

showModal() открывает окно поверх страницы, затемняет фон через ::backdrop и закрывается клавишей Esc. Форма с method="dialog" закрывает диалог при отправке. Атрибут open для модальных окон не используют — он показывает немодальный вариант.

См. также

  • <details>, <summary> — Раскрывающийся блок без JavaScript: `<summary>` — видимый заголовок, остальное скрыто до клика.
  • popover — Превращает элемент во всплывающий слой поверх страницы — без JavaScript.
  • <form> — Форма: собирает данные из полей и отправляет их на сервер.
  • inert — Делает часть страницы неактивной: по ней нельзя кликнуть, перейти клавишей Tab или выделить текст.

Вопросы и ответы по теме

В учебнике

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.