0Pricing
CSS Academy · Leçon

Styles des fenêtres modales et boîtes de dialogue

Stylez les éléments de boîte de dialogue HTML natifs et les fenêtres modales personnalisées avec arrière-plan, positionnement et animations.

Styles des fenêtres modales et boîtes de dialogue est une leçon CSS Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CSS Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CSS Academy comprend 4 leçons au total.

Élément de boîte de dialogue natif

L’élément HTML <dialog> fournit un comportement de fenêtre modale intégré : piégeage du focus, fermeture avec Échap et API showModal() / close(). Mettez-le en forme avec CSS au lieu de créer toute l’infrastructure d’une fenêtre modale personnalisée.

Mise en forme de l’arrière-plan

Le pseudo-élément ::backdrop met en forme la superposition derrière une balise <dialog> ouverte. Appliquez un arrière-plan semi-transparent : dialog::backdrop { background: rgba(0,0,0,0.5); backdrop-filter: blur(4px); }. Aucun div conteneur n’est nécessaire.

Mise en page de la boîte de dialogue

Centrez les boîtes de dialogue avec CSS : dialog { margin: auto; max-width: min(90vw, 640px); max-height: 90vh; overflow-y: auto; }. L’utilisation de marges automatiques sur une boîte de dialogue la positionne au centre de la fenêtre d’affichage sans nécessiter de positionnement avec JS.

Défilement et débordement

Définissez overflow-y: auto sur la boîte de dialogue elle-même pour gérer les contenus longs. Définissez overflow: hidden sur body lorsque la fenêtre modale s’ouvre afin d’empêcher le défilement de l’arrière-plan — ajoutez et retirez une classe avec JavaScript pour activer ou désactiver ce comportement.

Animation avec CSS

Animez l’ouverture de la boîte de dialogue avec @starting-style (Chrome 117+) pour créer des animations d’entrée uniquement en CSS, sans JavaScript. Pour une compatibilité plus large, ajoutez une classe d’ouverture avec JavaScript et utilisez une transition sur la transformation et l’opacité : faites-la glisser vers le haut, de translateY(20px) à translateY(0).

Difficulté de l’animation de fermeture

Animer la fermeture d’une boîte de dialogue est délicat : la boîte de dialogue est masquée immédiatement lors de l’appel à close(). Solutions : utilisez l’API des fenêtres contextuelles, qui prend nativement en charge les animations de fermeture, ou interceptez la fermeture avec JavaScript, appliquez la classe d’animation de sortie, puis appelez close() lorsque l’animation se termine.

Gestion de l’index d’empilement

Les boîtes de dialogue s’ouvrent au-dessus de tout le reste du contenu de la page. Évitez les conflits de z-index en utilisant le contexte d’empilement natif de l’élément de boîte de dialogue : il est rendu dans la couche supérieure, au-dessus de toutes les valeurs de z-index CSS, sans nécessiter de définir un z-index sur la boîte de dialogue elle-même.

Boîte de dialogue adaptative

Sur mobile, faites glisser les boîtes de dialogue depuis le bas comme une feuille : dialog { margin: auto auto 0; width: 100%; border-radius: 16px 16px 0 0; max-height: 90vh; }. Sur ordinateur, centrez-les comme une fenêtre modale traditionnelle en utilisant le modèle avec des marges automatiques.

Gestion du focus

L’élément de boîte de dialogue natif déplace automatiquement le focus vers le premier élément focalisable à l’ouverture. Assurez un ordre de tabulation logique dans la boîte de dialogue. Ajoutez un bouton de fermeture qui rend le focus à l’élément déclencheur lors de la fermeture de la boîte de dialogue, afin de garantir une navigation fluide au clavier.

Attributs d’accessibilité

Ajoutez aria-labelledby en le faisant pointer vers le titre de la boîte de dialogue, et aria-describedby en le faisant pointer vers sa description. Le rôle de boîte de dialogue est implicite pour <dialog>. Les lecteurs d’écran annoncent ces libellés lorsque le focus entre dans la boîte de dialogue.

Modèle de boîte de dialogue de confirmation

Les boîtes de dialogue de confirmation nécessitent : un titre formulé comme une question claire, une brève description des conséquences, un bouton d’action destructive (rouge, aligné à droite) et un bouton d’annulation (aligné à gauche ou secondaire). Utilisez autofocus sur le bouton d’annulation afin que le choix sûr soit l’interaction clavier par défaut.

Vérification des connaissances

Quel est l’avantage d’utiliser l’élément <dialog> natif plutôt qu’une fenêtre modale personnalisée basée sur un div ?

Résumé

L’élément de boîte de dialogue natif, associé à ::backdrop, au centrage avec des marges automatiques, au contrôle du débordement, aux animations CSS d’entrée et à la gestion du focus, fournit un modèle de fenêtre modale entièrement accessible et piloté par CSS. Des mises en page adaptatives en feuille sur mobile et des attributs ARIA appropriés complètent un composant de boîte de dialogue prêt pour la production.

Questions Fréquemment Posées

La leçon « Styles des fenêtres modales et boîtes de dialogue » est-elle gratuite ?

Oui — le texte complet de « Styles des fenêtres modales et boîtes de dialogue » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CSS Academy, passe à CoddyKit PRO. Le cours CSS Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Styles des fenêtres modales et boîtes de dialogue » ?

Stylez les éléments de boîte de dialogue HTML natifs et les fenêtres modales personnalisées avec arrière-plan, positionnement et animations. Tu pratiques CSS Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer CSS Academy ?

Aucune expérience préalable n'est requise. CSS Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Styles des fenêtres modales et boîtes de dialogue » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon CSS Academy ?

Oui. Chaque leçon CSS Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Composant carte avec des propriétés personnalisées CSS
  2. Styles des fenêtres modales et boîtes de dialogue
  3. Modèles de menus déroulants et fenêtres contextuelles
  4. Composant d’onglets avec :checked ou JS
← Retour à CSS Academy