← Retour au blog
tech 5 août 2026

Nous avons enfin appris à centrer une div, puis les navigateurs ont ajouté des barres latérales

Centrer une div était un défi. Aujourd'hui, les navigateurs ajoutent de nouvelles complications avec les barres latérales. Comment s'adapter ?

Article inspiré de la source originale
We finally learned to center a div, then browsers added sidebars ↗ seg6.space

Introduction : l'évolution du centrage d'une div

Pendant des années, centrer une div était un rite de passage pour tout développeur web. Nous nous souvenons tous de la formule magique :

``css .thing { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } ``

Ce n'était pas intuitif, mais cela fonctionnait. Puis est venu le CSS moderne avec des solutions plus élégantes, comme display: grid et place-items: center. Pourtant, alors que nous pensions avoir résolu ce casse-tête, les navigateurs ont introduit un nouvel obstacle : les barres latérales.

Le problème des barres latérales

Avec les barres latérales, centrer une div n'est plus aussi simple. L'espace visible du navigateur (webview) n'est pas toujours centré dans la fenêtre entière du navigateur. Cela signifie que les éléments que l'on pensait parfaitement centrés peuvent sembler décalés.

Prenons un exemple concret. Supposons que tu utilises un navigateur avec une barre latérale ouverte. Tu as une div censée être centrée, mais elle apparaît décalée, car elle est centrée par rapport à l'espace visible, et non à la fenêtre totale.

Une solution JavaScript

Pour résoudre ce problème, on peut utiliser JavaScript pour ajuster dynamiquement la position de la div. Voici un exemple de comment cela fonctionne :

``javascript const browserChrome = window.outerWidth - window.innerWidth; const shift = -browserChrome / 2; .site { translate: var(--window-center-shift, 0px); } ``

Cette méthode ajuste la position pour compenser la largeur de la barre latérale. Cependant, cette solution n'est pas sans faille. Par exemple, l'ouverture des DevTools peut compliquer davantage le positionnement.

Le défi des DevTools

Lorsque les DevTools sont ouverts, surtout s'ils sont ancrés à droite, la différence de largeur inclut l'interface utilisateur du navigateur des deux côtés. Cela complique le calcul exact de l'espace nécessaire pour centrer correctement la div.

Utilisation des événements de pointeur

Une solution plus avancée consiste à utiliser les événements de pointeur pour déterminer la position exacte de la webview dans la fenêtre du navigateur. Cela permet de corriger dynamiquement le positionnement :

``javascript const viewportLeft = event.screenX - event.clientX scale; const viewportRight = viewportLeft + innerWidth scale; const left = viewportLeft - window.screenX; const right = window.screenX + outerWidth - viewportRight; const shift = (right - left) / (2 * scale); ``

Cette méthode permet une plus grande précision, surtout avec Firefox qui expose directement la position de la webview.

Conclusion : s'adapter aux nouvelles réalités

Centrer une div est devenu plus complexe avec les évolutions des navigateurs. Cependant, grâce à des solutions JavaScript astucieuses et à l'utilisation des événements de pointeur, il est possible de maintenir une mise en page harmonieuse.

Discutons de ton projet en 15 minutes.

centering div browser sidebars JavaScript solutions web development CSS grid
Newsletter Deepthix · 100% IA · chaque lundi 8h

Un agent IA lit la tech à ta place.

Notre agent IA scanne ~200 sources par semaine et te livre les meilleurs articles le lundi 8h. Gratuit. 1 clic pour se désinscrire.

Voir la page newsletter →

Tu veux automatiser tes opérations ?

Discutons de ton projet en 15 minutes.

Réserver un call