没有?!让我们来了解一下
在用户界面 (UI) 设计中,术语“模态”和“对话框”经常互换使用,但它们具有不同的含义:
互动屏蔽:
用例:
HTML 提供了一种简单而有效的方法来创建模式和对话框。该元素非常灵活,除了提供开箱即用的可访问性优势之外,还允许您自定义内容和样式。让我们探讨一下它的工作原理以及如何使用它在网页上创建有效的模式。
它非常简单:它只是一个带有可选属性和一些关联 JavaScript 方法的 HTML 标记。查看基本使用示例:
<dialog> <!-- Conteúdo do Dialog --> </dialog>
默认情况下,对话框是隐藏的。要显示它,可以添加 open 属性,但建议使用 JavaScript show() 和 showModal() 方法来控制对话框的打开:
<dialog open> <span>Você pode me ver agora!</span> </dialog>
但是,不建议直接使用 open 属性,因为这会创建非模式对话框。相反,您应该使用 JavaScript 方法:
const dialog = document.querySelector("dialog"); dialog.show(); // Abre um diálogo não-modal dialog.showModal(); // Abre um diálogo modal
showModal() 方法打开一个模态对话框,而 show() 打开一个非模态对话框(一种弹出窗口)。
要关闭对话框,可以使用 close() 方法。此外,如果对话框是模态的,可以通过按 Esc 键关闭它:
const dialog = document.querySelector("dialog"); dialog.close(); // Fecha o diálogo
的一大优点是是它自动处理辅助功能。它应用正确的 aria 属性并管理焦点,从而更轻松地创建可访问的应用程序。
尽管它已经附带了浏览器应用的一些默认样式,很容易对其进行自定义。以下是使用一些基本 CSS 属性设置样式的对话框示例:
dialog { z-index: 10; margin-top: 10px; background: green; border: none; border-radius: 1rem; }
此外,您可以使用 ::backdrop 伪元素设置模式背景的样式。要修改背景(模态后面的区域),您可以应用以下 CSS:
<dialog> <!-- Conteúdo do Dialog --> </dialog>
这可以轻松创建适合您网站设计的自定义模式。
<dialog open> <span>Você pode me ver agora!</span> </dialog>
const dialog = document.querySelector("dialog"); dialog.show(); // Abre um diálogo não-modal dialog.showModal(); // Abre um diálogo modal
const dialog = document.querySelector("dialog"); dialog.close(); // Fecha o diálogo
此解决方案允许在模态区域外部单击时关闭对话框,这是许多模态中的常见行为。
HTML 提供了一种简单而强大的方法来实现模式和对话框,并重点关注可访问性。它可以轻松创建自定义模式,无需外部库或复杂的配置。使用 show()、showModal() 和 close() 等方法,您可以轻松控制对话框的行为。
此外,使用 CSS 设置对话框及其背景样式的能力使其更加可定制。只需一些附加功能,例如在单击时关闭模式或集成表单,
有关更多信息和示例:https://blog.webdevsimplified.com/2023-04/html-dialog/
https://dev.to/iam_timsmith/dialogs-vs-modals-is-there-a-difference-210k
以上是模态与对话框的详细内容。更多信息请关注PHP中文网其他相关文章!