Frontend Academy · Leçon

La balise meta viewport

Ajoutez la balise meta viewport et comprenez pourquoi elle est nécessaire au bon fonctionnement des mises en page adaptatives sur les appareils mobiles.

Leçon 1 sur 413 étapes

La balise meta viewport est une leçon Frontend Academy gratuite sur CoddyKit. Ceci est la leçon 1 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 Frontend Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Frontend Academy comprend 4 leçons au total.

Pourquoi la balise meta de la zone d'affichage ?

Sans la balise meta de la zone d'affichage, les navigateurs mobiles affichent la page avec une largeur d'ordinateur (souvent 980 px), puis effectuent un zoom arrière pour l'adapter. Le texte devient minuscule et la mise en page est déstructurée. La balise meta indique au navigateur d'utiliser la largeur réelle de l'appareil.

La balise

Ajoutez ceci dans le <head> de chaque page. C'est indispensable pour qu'une conception adaptative fonctionne correctement.

<meta name="viewport" content="width=device-width, initial-scale=1.0">

width=device-width

width=device-width définit la largeur de la zone d'affichage sur la largeur de l'écran de l'appareil, en pixels CSS. Sur un iPhone 14 de 390 px de largeur, la zone d'affichage fait ainsi 390 px, et non 980 px.

initial-scale=1.0

initial-scale=1.0 définit le niveau de zoom à 1 lors du premier chargement de la page. Sans cette valeur, certains navigateurs peuvent encore appliquer un facteur de zoom. Avec device-width, elle vous donne un rapport réel de 1:1 entre les pixels CSS et les pixels de l'appareil.

Pixels CSS et pixels physiques

Les écrans à haute densité (Retina) ont un rapport de pixels de l'appareil (DPR) supérieur à 1. Un iPhone 14 de 390 px de largeur possède 1170 pixels physiques (DPR = 3). Les pixels CSS font abstraction des pixels physiques : votre CSS fonctionne toujours en pixels CSS, quelle que soit la valeur de DPR.

N'utilisez pas user-scalable=no

Certains développeurs ajoutent user-scalable=no pour désactiver le zoom par pincement. Ne faites pas cela. Les utilisateurs ayant une déficience visuelle ne peuvent alors plus zoomer pour lire le contenu, ce qui ne respecte pas le critère de succès 1.4.4 de WCAG.

Unités de zone d'affichage : vw et vh

1vw = 1 % de la largeur de la zone d'affichage. 1vh = 1 % de sa hauteur. 100vw et 100vh remplissent toute la zone d'affichage. Utilisez-les pour les sections principales et les mises en page en plein écran.

.hero {
  width: 100vw;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

dvh — hauteur dynamique de la zone d'affichage

Sur mobile, 100vh inclut les éléments d'interface du navigateur (la barre d'adresse), ce qui peut couper une partie du contenu. La nouvelle valeur 100dvh (hauteur dynamique de la zone d'affichage) s'adapte aux éléments d'interface visibles. Utilisez-la avec un fallback.

.full-screen {
  min-height: 100vh;    /* fallback */
  min-height: 100dvh;   /* modern browsers */
}

zone d'affichage dans DevTools

Dans Chrome DevTools, cliquez sur l'icône de l'appareil pour passer en mode Appareil et voir exactement l'apparence de votre page à différentes tailles de zone d'affichage. La règle indique les pixels CSS.

Variantes de l'attribut content

Vous pouvez également définir initial-scale, minimum-scale et maximum-scale. Conservez des valeurs raisonnables. Définir minimum-scale=1 sans user-scalable=no permet toujours le zoom, ce qui constitue l'approche accessible.

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">

Zone d'affichage et requêtes de média

Les requêtes de média utilisent la largeur de la zone d'affichage (la valeur en pixels CSS, et non les pixels physiques). Si votre zone d'affichage fait 390 px, @media (max-width: 768px) s'applique. La balise meta de la zone d'affichage permet à ces points de rupture de fonctionner correctement sur mobile.

Vérification rapide

Quel est le rôle de width=device-width dans la balise meta de la zone d'affichage ?

Récapitulatif : la balise meta de la zone d'affichage

Incluez toujours dans le . Ne désactivez jamais la mise à l'échelle par l'utilisateur. Utilisez vw/vh pour les dimensions relatives à la zone d'affichage. dvh résout les problèmes liés aux éléments d'interface des navigateurs mobiles. Cette seule balise permet à tout votre CSS adaptatif de fonctionner sur mobile.

Gratuit pour commencer

Apprends HTML avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
41
Leçons
163

Questions Fréquemment Posées

La leçon « La balise meta viewport » est-elle gratuite ?

Oui — le texte complet de « La balise meta viewport » 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 Frontend Academy, passe à CoddyKit PRO. Le cours Frontend Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « La balise meta viewport » ?

Ajoutez la balise meta viewport et comprenez pourquoi elle est nécessaire au bon fonctionnement des mises en page adaptatives sur les appareils mobiles. Tu pratiques Frontend 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 Frontend Academy ?

Aucune expérience préalable n'est requise. Frontend 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 1 sur 4.

Combien de temps prend la leçon « La balise meta viewport » ?

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 Frontend Academy ?

Oui. Chaque leçon Frontend 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. La balise meta viewport
  2. Flexbox pour la mise en page
  3. CSS Grid pour la mise en page
  4. Requêtes média et développement mobile d’abord
← Retour à Frontend Academy