:modal
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2022å¹´9æâ©.
:modal 㯠CSS ã®æ¬ä¼¼ã¯ã©ã¹ã§ãæä½ãè§£é¤ãããã¾ã§ããã以å¤ã®è¦ç´ ã¨ã®ãã¹ã¦ã®æä½ãé¤å¤ããç¶æ
ã«ããè¦ç´ ã¨ä¸è´ãã¾ãã :modal æ¬ä¼¼ã¯ã©ã¹ã使ç¨ãã¦ãè¤æ°ã®è¦ç´ ãåæã«é¸æãããã¨ãã§ãã¾ãããã¢ã¯ãã£ãã«ãªããå
¥åãåãä»ãããã¨ãã§ããã®ã¯ãã®ãã¡ã® 1 ã¤ã®ã¿ã§ãã
試ãã¦ã¿ã¾ããã
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();
});
æ§æ
:modal {
/* ... */
}
使ç¨ä¸ã®ã¡ã¢
ãã¼ã¸ã®ä»ã®é¨åãã¦ã¼ã¶ã¼ãæä½ã§ããªãããã«ãã :modal æ¬ä¼¼ã¯ã©ã¹ã«ãã£ã¦é¸æãããè¦ç´ ã®ä¾ã¨ãã¦ã¯ãä¾ãã°ä»¥ä¸ã®ãããªãã®ãå«ã¾ãã¾ãã
dialogè¦ç´ ãshowModal()API ã§éãããã¨ããrequestFullscreen()API ã§éãããã¨ãã«:fullscreenæ¬ä¼¼ã¯ã©ã¹ã§é¸æãããè¦ç´ ã
ä¾
>ã¢ã¼ãã«ãã¤ã¢ãã°ã®ã¹ã¿ã¤ã«è¨å®
ãã®ä¾ã§ã¯ããè©³ç´°ãæ´æ°ããã¿ã³ãã¢ã¯ãã£ãåãããéã«éãã¢ã¼ãã«ãã¤ã¢ãã°ã«ã¹ã¿ã¤ã«è¨å®ãè¡ãªã£ã¦ãã¾ãããã®ä¾ã¯ã <dialog> è¦ç´ ã®ä¾ãåºã«æ§ç¯ããã¦ãã¾ãã
CSS
:modal {
border: 5px solid red;
background-color: yellow;
box-shadow: 3px 3px 10px rgb(0 0 0 / 50%);
}
çµæ
仿§æ¸
| Specification |
|---|
| HTML > # selector-modal > |
| Selectors Level 4 > # selectordef-modal > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
dialogè¦ç´- ä»ã®è¦ç´ è¡¨ç¤ºç¶æ
æ¬ä¼¼ã¯ã©ã¹:
:fullscreenããã³:picture-in-picture - æ¬ä¼¼ã¯ã©ã¹ã®ä¸è¦§