沒有? !讓我們來了解一下
在使用者介面 (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中文網其他相關文章!