:modal
:modal CSS 偽類匹配處於某種狀態的元素,在該狀態下,它會阻止所有與自身外部元素的互動,直到該互動被解除。:modal 偽類可以同時選擇多個元素,但其中只有一個會處於活動狀態並能夠接收輸入。
試一試
button {
display: block;
margin: auto;
width: 10rem;
height: 2rem;
}
:modal {
background-color: beige;
border: 2px solid burlywood;
border-radius: 5px;
}
p {
color: black;
}
<p>Would you like to see a new random number?</p>
<button id="showNumber">Show me</button>
<dialog id="favDialog">
<form method="dialog">
<p>Lucky number is: <strong id="number"></strong></p>
<button>Close dialog</button>
</form>
</dialog>
const showNumber = document.getElementById("showNumber");
const favDialog = document.getElementById("favDialog");
const number = document.getElementById("number");
showNumber.addEventListener("click", () => {
number.innerText = Math.floor(Math.random() * 1000);
favDialog.showModal();
});
語法
css
:modal {
/* ... */
}
用法說明
會阻止使用者與頁面其餘部分互動並會被 :modal 偽類選中的元素包括:
- 使用
showModal()API 開啟的dialog元素。 - 使用
requestFullscreen()API 開啟時,由:fullscreen偽類選中的元素。
示例
模態對話方塊樣式
此示例為當“更新詳細資訊”按鈕被啟用時開啟的模態對話方塊設定樣式。此示例是基於 <dialog> 元素示例構建的。
CSS
css
:modal {
border: 5px solid red;
background-color: yellow;
box-shadow: 3px 3px 10px rgb(0 0 0 / 50%);
}
結果
規範
| 規範 |
|---|
| HTML # 選擇器-modal |
| 選擇器 Level 4 # 選擇器定義-modal |
瀏覽器相容性
載入中…
另見
dialog元素- 其他元素顯示狀態偽類:
:fullscreen和:picture-in-picture - 偽類完整列表