: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 API showModal().
  • Phần tử được chọn bởi lớp giả :fullscreen khi được mở bằng API requestFullscreen().

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