Il existe de très nombreuses unités pour qualifier les valeurs en CSS. Dans ce guide complet, vous allez découvrir calmement ce que sont ces nouvelles unités CSS, pourquoi elles existent, quand les utiliser et comment les intégrer dans vos projets. Vous n’avez pas besoin d’être un expert en CSS, vous pouvez même être totalement débutant. L’idée est vraiment de vous accompagner pas à pas, avec des explications simples, des exemples concrets et une vision claire. À la fin, vous serez capable d’utiliser ces unités viewport sans hésiter, avec confiance, et surtout sans stress.
Comme d’habitude sur Créa-Blog, l’objectif est que vous compreniez vraiment ce que vous faites. On va donc prendre le temps, expliquer les concepts, replacer le contexte, faire un peu de pédagogie. C’est parti.
Avant de plonger dans les nouvelles unités viewport modernes, il est important de rappeler rapidement ce que sont les unités CSS historiques. Pendant longtemps, nous avons utilisé des unités comme vw, vh, vmin et vmax. Le principe était simple.
Ces unités CSS étaient très pratiques et pendant un moment, elles semblaient parfaites. Mais tout allait bien… jusqu’à ce que les mobiles s’en mêlent. Sur mobile, le viewport n’est pas fixe. La barre d’adresse apparaît, disparaît, se réduit, remonte, descend. Résultat : 100vh ne mesure pas toujours la même chose. Une page peut soudainement sauter, s’allonger, se rétrécir. Et là, votre mise en page s’effondre. C’est exactement ce genre de problème que les nouvelles unités viewport viennent résoudre.
Entrons maintenant dans la première grande famille moderne d’unités viewport CSS : les Dynamic Viewport Units. C’est généralement par elles que tout le monde commence, et ce n’est pas pour rien. Elles sont souvent la réponse la plus naturelle aux problèmes rencontrés avec vh et vw.
Lire aussi: Avis sur le Sony Alpha A6000
Les Dynamic Viewport Units portent bien leur nom. Elles sont dynamiques parce qu’elles s’adaptent en temps réel à la taille réellement disponible du viewport. Elles ne prennent pas uniquement une valeur théorique, elles se basent sur ce que l’utilisateur voit réellement à l’instant précis où il regarde la page. Cela semble logique, mais pendant longtemps, ce n’était pas le cas.
Les unités principales que vous devez retenir sont dvh pour la hauteur et dvw pour la largeur. Il existe aussi dvmin et dvmax, mais pour un débutant, dvh et dvw suffisent largement pour commencer. Concrètement, 100dvh signifie “100 pour cent de la hauteur visible réelle du viewport, même si la barre d’adresse du mobile monte, descend, apparaît ou disparaît”.
Pour comprendre l’intérêt, imaginons une situation très courante. Vous créez une section hero en pleine page pour l’accueil de votre site, avec un grand titre, une phrase d’accroche et un bouton. Sur ordinateur, 100vh fonctionne bien. Sur mobile, tout se complique. Au chargement, la section remplit l’écran, puis lorsque l’utilisateur commence à scroller ou que la barre d’adresse change de taille, la hauteur de la section se modifie brutalement. Le visuel se tasse, le bouton se déplace, et toute l’expérience devient bancale. Avec 100dvh, la hauteur s’adapte intelligemment, sans provoquer ces sauts désagréables.
Voici un exemple très simple d’utilisation. Imaginons que vous vouliez un bloc principal qui occupe toujours exactement l’espace disponible à l’écran.
.main { height: 100dvh; width: 100dvw;}Avec ce simple code, votre zone principale épouse parfaitement la hauteur visible, peu importe le comportement du navigateur mobile. Vous obtenez donc une interface stable, confortable et beaucoup plus professionnelle. Cela peut sembler anodin, mais pour l’utilisateur, c’est une vraie différence.
Lire aussi: Biathlon : Cibles et distances
Une autre situation intéressante concerne les applications web, comme une interface de tableau de bord ou une web-app affichée sur smartphone. Avant, il fallait souvent jongler avec JavaScript pour recalculer la hauteur à chaque changement du viewport. Aujourd’hui, dvh et dvw font ce travail pour vous, sans script et de manière standardisée. C’est plus propre, plus performant et surtout plus fiable sur le long terme.
D’un point de vue pédagogique, on peut retenir une règle simple. Si vous voulez une zone qui doit toujours suivre la taille réelle de l’écran visible, même quand l’interface du navigateur bouge, utilisez dvh ou dvw. Ce sont un peu les unités “vivantes” des unités viewport, celles qui respirent en même temps que le navigateur. Et honnêtement, quand on a connu les galères d’avant, on les adopte très vite. Petite anecdote d’ailleurs : la première fois que j’ai testé dvh sur un projet mobile où tout sautait depuis des semaines, j’ai presque eu l’impression que le navigateur me disait merci.
Autre point important, les Dynamic Viewport Units fonctionnent aussi très bien sur desktop, même si le gain est surtout visible sur mobile. Cela signifie que vous pouvez les utiliser sereinement partout, sans vous dire que ce sont des unités “spéciales smartphone”. Elles font désormais partie pleinement du paysage moderne des unités CSS.
D’un point de vue apprentissage, ce groupe d’unités viewport est généralement celui que vous utiliserez le plus au quotidien. Il règle les problèmes habituels, il améliore la stabilité de vos mises en page et il simplifie la vie du développeur. Et quand une technologie simplifie vraiment nos journées, on a tendance à l’apprécier.
Les Small Viewport Units, souvent abrégées en svh et svw, ont un rôle très particulier dans l’univers des unités CSS. Il s’agit des unités qui représentent la plus petite taille que peut prendre le viewport. Autrement dit, elles prennent en compte le pire scénario pour votre mise en page : celui où le navigateur a réduit au maximum l’espace disponible à cause de ses barres d’interface.
Lire aussi: Choisir un fusil pour femme
Cela signifie que svh correspond à la plus petite hauteur possible de l’écran dans une situation donnée, tandis que svw correspond à la plus petite largeur possible. Cette notion peut paraître un peu abstraite au début, mais elle devient très claire quand on pense au mobile.
Sur smartphone, l’interface du navigateur n’est pas figée. Il y a la barre d’adresse, parfois une barre de navigation en bas, des zones de sécurité, et tout cela peut apparaître, disparaître ou changer de taille. Résultat, la hauteur disponible pour votre page peut varier. Et c’est exactement là que les Small Viewport Units entrent en scène.
Elles servent à stabiliser votre mise en page en prenant comme référence la valeur minimale. C’est une manière de dire au navigateur : “Je préfère travailler avec la hauteur la plus petite possible, comme ça je suis sûr qu’il n’y aura pas de mauvaise surprise”. C’est particulièrement intéressant lorsque vous ne voulez pas que votre page grandisse ou rétrécisse en fonction des changements du navigateur.
Prenons un exemple très concret. Imaginons une application web qui affiche une interface fixe, comme une calculatrice, une interface de jeu simple ou un tableau de bord compact. Vous ne voulez surtout pas que l’interface se mette à bouger dès que l’utilisateur commence à scroller ou que la barre d’adresse change de taille. Vous avez besoin de stabilité, d’un cadre fixe.
.app { height: 100svh; width: 100svw;}Avec ce simple réglage, votre interface s’appuie sur la plus petite hauteur que le viewport peut avoir. Cela permet d’éviter les sauts d’affichage, les compressions soudaines et les effets un peu désagréables qui donnent l’impression que l’interface “respire mal”.
Une autre utilisation très fréquente concerne les écrans d’accueil ou les pages où l’expérience utilisateur doit être très contrôlée. Par exemple, une page de connexion, une page d’erreur ou une page d’introduction. Vous voulez que tout reste stable, propre, sans mouvement inattendu. Les Small Viewport Units sont alors vos alliées.
D’un point de vue pédagogique, on peut voir svh comme l’unité de la prudence. C’est celle qui vous dit : “Je prends la valeur la plus petite, comme ça tu es tranquille, quoi qu’il arrive.” Et parfois, dans la vie comme dans le CSS, la prudence, c’est rassurant. Cela évite bien des surprises, et surtout cela améliore la perception de qualité de votre site.
Après avoir découvert les unités prudentes, allons maintenant vers leur opposé naturel : les Large Viewport Units, souvent notées lvh et lvw. Celles-ci représentent la plus grande taille que peut atteindre le viewport. Là où les Small Viewport Units considèrent le scénario le plus contraignant, les Large Viewport Units imaginent au contraire le scénario le plus confortable, celui où le navigateur offre le maximum d’espace.
Concrètement, lvh représente la hauteur maximale possible de l’écran visible, lorsque toutes les barres de navigation ont disparu ou sont réduites au minimum. De la même manière, lvw correspond à la largeur maximale. Ces unités sont particulièrement intéressantes lorsque vous souhaitez exploiter le plein potentiel d’espace disponible, notamment pour des designs immersifs ou des sections visuelles très ambitieuses.
Imaginez une grande section hero, avec une image plein écran, un titre imposant, un slogan, peut-être même une animation ou une vidéo de fond. Dans ce contexte, vous voulez généralement que la section occupe le plus d’espace possible, afin d’offrir une expérience impressionnante et immersive.
.hero { height: 100lvh; width: 100lvw;}Avec ce réglage, votre section hero utilise la hauteur maximale que peut atteindre le viewport. Cela permet d’obtenir un rendu visuel très généreux, stable et agréable, surtout lorsque les barres du navigateur disparaissent au scroll, laissant toute la place à votre contenu.
Les Large Viewport Units sont également utiles dans les situations où vous voulez vous assurer que votre contenu ne sera jamais “étouffé” par une interface temporaire du navigateur. Par exemple, un diaporama pleine page, une galerie photo immersive ou une page de storytelling visuel où chaque écran doit vraiment respirer.
D’un point de vue pédagogique, lvh et lvw sont comme des unités “optimistes”. Elles partent du principe que le navigateur offrira le maximum d’espace possible et elles s’y adaptent. C’est un peu comme si elles disaient : “Profitons du meilleur scénario”. Et parfois, pour l’expérience utilisateur, c’est exactement ce qu’il faut.
Cependant, il est important de comprendre que ces unités viewport ne remplacent pas dvh ou svh. Elles sont complémentaires. Chacune d’elles correspond à une philosophie différente. Là où dvh s’adapte dynamiquement, lvh vise la meilleure situation et svh se prépare à la pire. Et c’est justement cette richesse qui rend ces nouvelles unités CSS si puissantes.
Pour que ce guide vous soit vraiment utile, il faut aller un peu au-delà de la pure théorie. Comprendre les unités viewport, c’est bien. Savoir laquelle utiliser dans un vrai projet, c’est beaucoup mieux. Alors prenons un moment pour clarifier tout cela.
Pour résumer, voici un tableau récapitulatif des unités viewport CSS, avec leur description et leur cas d'utilisation principal :
| Unité | Description | Cas d'utilisation principal |
|---|---|---|
| vw | 1% de la largeur du viewport | Mise en page responsive simple |
| vh | 1% de la hauteur du viewport | Mise en page pleine hauteur |
| dvh | 1% de la hauteur dynamique du viewport | Web-apps, interfaces interactives |
| dvw | 1% de la largeur dynamique du viewport | Web-apps, interfaces interactives |
| svh | 1% de la plus petite hauteur du viewport | Écrans fixes, pages de connexion |
| svw | 1% de la plus petite largeur du viewport | Écrans fixes, pages de connexion |
| lvh | 1% de la plus grande hauteur du viewport | Sections hero, galeries immersives |
| lvw | 1% de la plus grande largeur du viewport | Sections hero, galeries immersives |
En conclusion, les unités vw et vh permettent de signifier des dimensions en fonction de la taille de la fenêtre du navigateur (vh = viewport height, vw = viewport width). Les unités svh, lvh, dvh permettent donc de tenir compte d’une relation small, large et dynamic au viewport.
tags: #taille #du #viewport #css