Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. CSS
  3. Référence
  4. Sélecteurs
  5. :modal

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

:modal

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2022.

Lapseudo-classeCSS:modal cible un élément qui est dans un état interdisant toute interaction avec les autres éléments situés en dehors jusqu'à ce que l'interaction soit terminée. Plusieurs éléments peuvent être ciblés par la pseudo-classe:modal à un même instant donné, mais un seul de ces éléments sera actif et permettra de recevoir une saisie.

Exemple interactif

button {  display: block;  margin: auto;  width: 12rem;  height: 2rem;}:modal {  background-color: beige;  border: 2px solid burlywood;  border-radius: 5px;}p {  color: black;}
<p>Souhaitez-vous voir un nouveau nombre aléatoire&nbsp;?</p><button>Montre-moi</button><dialog>  <form method="dialog">    <p>Le nombre chanceux est&nbsp;: <strong></strong></p>    <button>Fermer la boîte de dialogue</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();});

Syntaxe

css
:modal {  /* ... */}

Notes d'utilisation

Voici des exemples d'éléments qui peuvent empêcher une interaction avec le reste de la page et qui pourront être ciblés par la pseudo-classe :

  • L'élément<dialog> lorsqu'il est ouvert avec la méthode du DOMshowModal().
  • Un élément ciblé par la pseudo-classe:fullscreen lorsqu'il est ouvert avec la méthode du DOMrequestFullscreen().

Exemples

Mettre en forme une boîte de dialogue

Dans cet exemple, on met en forme une boîte de dialogue modale qui s'ouvre lorsqu'on active le bouton « Mettre à jour les détails ». Cet exemple est construit à partir del'exemple présent sur la page de l'élément<dialog>.

<!-- Boîte de dialogue contextuelle simple contenant un formulaire --><dialog>  <form method="dialog">    <p>      <label        >Animal préféré&nbsp;:        <select>          <option></option>          <option>Crevette en saumure</option>          <option>Panda rouge</option>          <option>Singe-araignée</option>        </select>      </label>    </p>    <menu>      <button value="cancel">Annuler</button>      <button value="default">Confirmer</button>    </menu>  </form></dialog><menu>  <button>Mettre à jour les détails</button></menu><output></output>

CSS

css
:modal {  border: 5px solid red;  background-color: yellow;  box-shadow: 3px 3px 10px rgb(0 0 0 / 50%);}
const updateButton = document.getElementById("updateDetails");const favDialog = document.getElementById("favDialog");const outputBox = document.querySelector("output");const selectEl = favDialog.querySelector("select");const confirmBtn = favDialog.querySelector("#confirmBtn");// Si un navigaeur ne prend pas en charge, on masque le contenu// de la boîte de dialogue par défaut.if (typeof favDialog.showModal !== "function") {  favDialog.hidden = true;  /* un script alternatif pour les navigateurs historiques.   */}// Le bouton "Mettre à jour les détails" ouvre <dialog> en modalupdateButton.addEventListener("click", () => {  if (typeof favDialog.showModal === "function") {    favDialog.showModal();  } else {    outputBox.value =      "Désolé, l'API <dialog> n'est pas prise en charge par ce navigateur.";  }});// Le champ "Animal préféré" définit la valeur du bouton d'envoiselectEl.addEventListener("change", (e) => {  confirmBtn.value = selectEl.value;});// Le bouton "Confirmer" du formulaire déclenche la fermeture de la boîte avec [method="dialog"]favDialog.addEventListener("close", () => {  outputBox.value = `Bouton ${    favDialog.returnValue  } cliqué - ${new Date().toString()}`;});

Résultat

Spécifications

Specification
HTML
# selector-modal
Selectors Level 4
# selectordef-modal

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp