:modal
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.
Lớp giả :modal CSS lớp giả khớp với một phần tử đang ở trạng thái loại trừ mọi tương tác với các phần tử bên ngoài nó cho đến khi tương tác đó được đóng. Nhiều phần tử có thể được chọn bởi lớp giả :modal cùng lúc, nhưng chỉ một trong số chúng sẽ hoạt động và có thể nhận đầu vào.
Try it
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();
});
Cú pháp
css
:modal {
/* ... */
}
Ghi chú sử dụng
Các ví dụ về phần tử sẽ ngăn người dùng tương tác với phần còn lại của trang và sẽ được chọn bởi lớp giả :modal bao gồm:
- Phần tử
dialogđược mở bằng APIshowModal(). - Phần tử được chọn bởi lớp giả
:fullscreenkhi được mở bằng APIrequestFullscreen().
Ví dụ
>Tạo kiểu hộp thoại modal
Ví dụ này tạo kiểu cho một hộp thoại modal mở ra khi nút "Update details" được kích hoạt. Ví dụ này được xây dựng dựa trên ví dụ của phần tử <dialog>.
CSS
css
:modal {
border: 5px solid red;
background-color: yellow;
box-shadow: 3px 3px 10px rgb(0 0 0 / 50%);
}
Kết quả
Thông số kỹ thuật
| Specification |
|---|
| HTML> # selector-modal> |
| Selectors Level 4> # selectordef-modal> |
Khả năng tương thích trình duyệt
Xem thêm
- Phần tử
dialog - Các lớp giả trạng thái hiển thị phần tử khác:
:fullscreenvà:picture-in-picture - Danh sách đầy đủ các lớp giả