Aller au contenu

🚀 Tout savoir sur l’attribut popover en HTML ! (Nouveauté 2025)

HTML / CSS

⏱️ 12 min

Dans ce tutoriel, nous allons créer des modales interactives en utilisant uniquement HTML et CSS. Les modales sont des fenêtres contextuelles qui apparaissent au-dessus du contenu principal de la page. Nous allons créer deux modales différentes avec des styles personnalisés.

Étape 1 : Structure HTML

Commençons par créer la structure HTML de base. Nous allons utiliser des boutons pour ouvrir les modales et des divs pour contenir le contenu des modales.

index.html

<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Popover</title>
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<button popovertarget="modale1">Ouvrir modale 1</button>
<button popovertarget="modale2">Ouvrir modale 2</button>

<div popover id="modale1">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus, voluptatibus!
<button popovertarget="modale1" class="btn-close">X</button>
<a href="#">Confirmer</a>
<button popovertarget="modale1" class="btn-cancel">Annuler</button>
</div>
<div popover id="modale2">
Ceci est le texte de la modale 2
<button popovertarget="modale2">Fermer</button>
</div>
</body>
</html>

Explication du Code HTML

Doctype et Langue :

  • <!doctype html> : DĂ©clare le document comme Ă©tant du HTML5.
  • <html lang="fr"> : DĂ©finit la langue du document comme Ă©tant le français.

Head :

  • <meta charset="UTF-8"> : DĂ©finit l'encodage des caractères comme Ă©tant UTF-8.
  • <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> : Assure que la page est rĂ©active et s'adapte Ă  la taille de l'Ă©cran.
  • <meta http-equiv="X-UA-Compatible" content="ie=edge"> : Assure la compatibilitĂ© avec Internet Explorer.
  • <title>Popover</title> : DĂ©finit le titre de la page.
  • <link rel="stylesheet" href="css/styles.css"> : Lie la feuille de style CSS externe.

Body :

  • <button popovertarget="modale1">Ouvrir modale 1</button> : Bouton pour ouvrir la modale 1.
  • <button popovertarget="modale2">Ouvrir modale 2</button> : Bouton pour ouvrir la modale 2.
  • <div popover id="modale1"> : Conteneur pour la modale 1.
  • <div popover id="modale2"> : Conteneur pour la modale 2.

Étape 2 : Styles CSS

Ensuite, nous allons styliser nos modales en utilisant CSS. Nous allons utiliser des sélecteurs avancés et des variables CSS pour rendre nos modales interactives et réactives.

styles.css

#modale1 {
background-color: #4caf50;
max-width: 80%;
padding: 20px;
&::backdrop {
background-color: rgba(0, 0, 0, 0.7);
}
.btn-close {
color: white;
background: none;
border: none;
position: absolute;
top: 5px;
right: 5px;
cursor: pointer;
}
}

#modale2 {
position: fixed;
top: 0;
left: 0;
height: 100vh;
margin: 0;
width: 250px;
border: none;
transition: 0.3s;
&:popover-open {
@starting-style {
translate: -100% 0;
}
}
&::backdrop {
background-color: rgba(0, 0, 0, 0.7);
}
}

Explication du Code CSS

Modale 1 :

  • background-color: #4caf50; : DĂ©finit la couleur de fond de la modale 1.
  • max-width: 80%; : DĂ©finit la largeur maximale de la modale 1.
  • padding: 20px; : Ajoute un padding autour du contenu de la modale 1.
  • &::backdrop : DĂ©finit le style de l'arrière-plan de la modale 1.
  • .btn-close : Stylise le bouton de fermeture de la modale 1.

Modale 2 :

  • position: fixed; : Positionne la modale 2 de manière fixe.
  • top: 0; : Positionne la modale 2 en haut de la page.
  • left: 0; : Positionne la modale 2 Ă  gauche de la page.
  • height: 100vh; : DĂ©finit la hauteur de la modale 2 Ă  100% de la hauteur de la fenĂŞtre.
  • margin: 0; : Supprime les marges autour de la modale 2.
  • width: 250px; : DĂ©finit la largeur de la modale 2.
  • border: none; : Supprime les bordures autour de la modale 2.
  • transition: 0.3s; : Ajoute une transition pour les animations.
  • &:popover-open : DĂ©finit le style lorsque la modale 2 est ouverte.
  • @starting-style : DĂ©finit le style de dĂ©part pour l'animation.
  • &::backdrop : DĂ©finit le style de l'arrière-plan de la modale 2.

Conclusion

Vous avez maintenant deux modales interactives et réactives en utilisant uniquement HTML et CSS. Vous pouvez personnaliser davantage les styles et ajouter plus de contenu selon vos besoins. Ce tutoriel vous a guidé à travers chaque étape, en expliquant les détails de chaque partie du code. N'hésitez pas à expérimenter avec différentes styles et contenus pour créer des modales uniques et attrayantes.

Obtenir de l'aide

Pour obtenir de l'aide, vous pouvez accéder au serveur Discord pour une entraide par chat.

🚀 Tout savoir sur l’attribut popover en HTML ! (Nouveauté 2025)
Article publié le

Mots-clés : Tutoriel HTML et CSS responsive

Partager :