Requêtes de conteneur ou requêtes média
Comprenez quand utiliser les requêtes de conteneur plutôt que les requêtes média de la fenêtre d’affichage pour une conception fondée sur des composants.
Requêtes de conteneur ou requêtes média est une leçon CSS Academy gratuite sur CoddyKit. Ceci est la leçon 4 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.
Différence fondamentale
Les requêtes média réagissent aux dimensions de la fenêtre d’affichage. Les requêtes de conteneur réagissent aux dimensions du conteneur parent. Cette distinction détermine quel outil utiliser pour chaque problème.
Quand utiliser les requêtes média
Utilisez les requêtes média pour :
- Les changements de mise en page globale (une ou deux colonnes)
- L’affichage ou le masquage de grandes sections de la page (tiroir de navigation sur mobile)
- La mise à l’échelle de base de la typographie à l’échelle de la page
- Les styles d’impression
- Les requêtes liées aux préférences de l’utilisateur (mode sombre, réduction des animations)
Quand utiliser les requêtes de conteneur
Utilisez les requêtes de conteneur pour :
- Les changements de mise en page au niveau des composants (carte horizontale ou verticale)
- Les composants placés dans des conteneurs inconnus (barre latérale, zone principale, barre latérale dans la zone principale)
- Les composants réutilisables d’un système de conception
- Les widgets intégrés à des pages tierces
L’argument de la portabilité
Une carte stylisée avec des requêtes média fonctionne à un point de rupture donné sur une page de 1 200 px de large. Si cette carte est déplacée dans une barre latérale, elle peut nécessiter des points de rupture différents. Avec les requêtes de conteneur, la même carte fonctionne directement : elle s’adapte à l’espace dont elle dispose.
Utilisation combinée
Les applications réelles utilisent les deux. Les requêtes média définissent la mise en page globale (la barre latérale apparaît aux grandes largeurs d’écran) ; les requêtes de conteneur définissent le comportement des composants au sein de cette mise en page.
<div class="layout">
<div class="sidebar"><div class="card">Sidebar card</div></div>
<div class="main-content"><div class="card">Main card</div></div>
</div>
Spécificité des requêtes de conteneur
Contrairement aux requêtes média, qui n’ajoutent aucune spécificité, les requêtes de conteneur ajoutent une spécificité liée au contexte. Une règle située dans @container (min-width: 400px) possède la même spécificité que la même règle placée à l’extérieur, mais elle ne s’applique que dans le contexte de ce conteneur.
Compatibilité des navigateurs
Les requêtes de conteneur sont prises en charge par tous les navigateurs modernes depuis 2023 (Chrome 105+, Firefox 110+, Safari 16+). Vous pouvez les utiliser sans risque dès aujourd’hui dans de nouveaux projets, sans solutions de repli pour les cibles de navigateurs modernes.
Amélioration progressive avec @supports
Pour les projets nécessitant la prise en charge d’anciens navigateurs, utilisez @supports pour tester la prise en charge des requêtes de conteneur :
<div class="card-wrapper"><div class="card">Progressively enhanced card</div></div>
Comparaison des performances
Les requêtes de conteneur ont leurs propres caractéristiques en matière de performances : chaque élément container-type crée une limite de confinement de la mise en page. Cela empêche les changements de taille à l’intérieur d’affecter l’extérieur, ce qui constitue en fait un avantage en matière de performances. Les changements de requêtes média peuvent déclencher des recalculs globaux de la mise en page.
Débogage des requêtes de conteneur
Chrome DevTools affiche un badge « cq » à côté des éléments conteneurs dans le panneau Elements. Cliquez dessus pour visualiser les limites des conteneurs et tester les conditions des requêtes de conteneur avec l’inspecteur de mise en page de DevTools.
Vérification rapide
Un composant de carte d’un système de conception doit passer d’une mise en page empilée à une mise en page côte à côte selon la largeur disponible, quel que soit le contexte. Quelle approche est préférable ?
Récapitulatif
Les requêtes média réagissent à la fenêtre d’affichage globale ; les requêtes de conteneur réagissent à la taille d’un conteneur parent. Utilisez les requêtes média pour les décisions de mise en page globale et les requêtes liées aux préférences de l’utilisateur. Utilisez les requêtes de conteneur pour les composants réutilisables qui doivent s’adapter à leur contexte. Combinez les deux : les requêtes média pour la mise en page globale de la page, et les requêtes de conteneur pour l’adaptation des composants au sein de cette mise en page.
Questions Fréquemment Posées
La leçon « Requêtes de conteneur ou requêtes média » est-elle gratuite ?
Oui — le texte complet de « Requêtes de conteneur ou requêtes média » 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 « Requêtes de conteneur ou requêtes média » ?
Comprenez quand utiliser les requêtes de conteneur plutôt que les requêtes média de la fenêtre d’affichage pour une conception fondée sur des composants. 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 4 sur 4.
Combien de temps prend la leçon « Requêtes de conteneur ou requêtes média » ?
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
- container-type et container-name
- Règles @container et points d’arrêt
- Unités de requête de conteneur : cqw et cqh
- Requêtes de conteneur ou requêtes média