Banner

Comment peut-on remédier à un problème où le contenu d'un site web dépasse la largeur de l'écran ?

Posté par : Vocalis - le le 18 Mars 2025

Bonjour à tous, Je me demandais, si on a un site web et que, sur certaines pages ou sur mobile, le contenu devient plus large que l'écran, quelles sont les meilleures solutions pour régler ça sans trop impacter le design ? J'ai déjà rencontré ce souci plusieurs fois et j'aimerais bien avoir une méthode plus propre que de simplement cacher le scroll horizontal. Vos idées sont les bienvenues !

Commentaires (18)

Salut Vocalis, Le scroll horizontal, c'est le mal ! Perso, je check direct les media queries. Souvent, c'est là que le bât blesse. Un container qui déborde, une image trop grande... J'essaie de tout passer en pourcentage ou en viewport units (vw, vh) pour que ça s'adapte mieux. Et parfois, un bon vieux `overflow: hidden` sur le parent, mais c'est vraiment en dernier recours, hein ! Faut pas abuser des bonnes choses...

PoissonVolant a raison, les media queries c'est souvent la clé. Mais des fois, le problème vient d'un élément précis qui refuse de rétrécir, genre un tableau trop long ou une image qui n'a pas de `max-width: 100%`. Ça vaut le coup de fouiller dans ce sens avant de tout repasser en pourcentages.

Merci PoissonVolant et Echoïs, je vais creuser ces pistes. C'est vrai que le coup du `max-width: 100%` sur les images, ça m'a déjà sauvé plus d'une fois !

Schmidt, tellement d'accord avec toi pour le `max-width: 100%`. C'est fou comme une ligne de CSS peut régler des soucis qui paraissent insurmontables au premier abord. Un peu comme mettre du patchouli dans une formule trop agressive, ça adoucit le truc direct !

AdAroma94, l'exemple du patchouli, c'est... particulier, mais je vois l'idée. Ceci dit, je pense qu'il faut faire gaffe à ne pas trop se reposer sur des solutions miracles comme le `max-width: 100%`. C'est bien pour les images, ok, mais parfois le problème est plus profond et ça demande une vraie refonte du code. Sinon, on se retrouve avec un truc rafistolé qui lâche à la prochaine mise à jour.

OmbreFauve3 a raison. C'est tentant de chercher la solution rapide, mais parfois, faut accepter de tout reprendre. En parlant de patchouli, ça me rappelle une fois où j'ai voulu faire un truc similaire avec une API... 😅 Bref, pour revenir au sujet, je pense qu'il faut surtout bien comprendre pourquoi le contenu déborde. Est-ce un problème de responsivité générale ou un élément spécifique qui pose problème ? 🤔

Tout à fait Gecegölgesi, analyser la cause profonde, c'est la base. On dirait une énigme à résoudre ! 🔍

Manon Dubois, une énigme à résoudre, carrément ! Un peu comme essayer de décrypter pourquoi certains sites persistent à utiliser des polices illisibles. 🤦 Plus sérieusement, partir de la cause racine, c'est la seule manière de pas se retrouver à colmater les brèches sans fin. Après, entre nous, y'a des causes racines plus fun que d'autres à dénicher... 😉

Si c'est un tableau qui pose problème, et que tu ne peux pas le modifier facilement (par exemple, s'il vient d'une source externe), tu peux tenter de l'encapsuler dans un div avec `overflow-x: auto`. Ça ajoutera une barre de défilement horizontale juste pour le tableau, sans casser le reste de la page. C'est pas toujours esthétique, mais ça peut dépanner en attendant mieux.

Echoïs, l'astuce du `overflow-x: auto` sur un div parent, c'est le genre de plan B qui sauve des vies quand t'as pas la main sur le contenu. Genre, le client qui te file un tableur Excel transformé en tableau HTML digne des années 90... 🤣 C'est pas joli joli, mais au moins ça empêche la page de partir en sucette complètement.

AdAroma94, je suis d'accord que c'est un bon plan B dans certains cas. Mais je trouve qu'il faut vraiment que ça reste une solution temporaire. Le scroll horizontal, c'est pas super user-friendly, et ça peut vite gâcher l'expérience utilisateur. 🤔 Autant faire l'effort de retravailler le tableau dès que possible, non ? 🧐

Manon Dubois, je comprends ton point de vue, et en théorie, tu as raison. L'idéal, c'est de retravailler le tableau pour qu'il soit responsive. Mais dans la vraie vie, on n'a pas toujours le temps ou les ressources pour faire les choses parfaitement. Parfois, le `overflow-x: auto` c'est juste le moindre mal pour que le site reste utilisable en attendant de pouvoir s'attaquer au problème de fond. Faut savoir prioriser, quoi.

Vocalis, prioriser, oui, c'est tout le challenge ! Surtout quand le client te demande une modif' urgente sur un site codé avec les pieds... Tiens, ça me rappelle une fois, j'avais un site avec des tableaux imbriqués sur 5 niveaux, un truc de fou. J'ai failli craquer. Bref ! Pour revenir à nos moutons, je suis d'accord avec l'idée d'identifier la cause racine du problème de débordement.

Yep, cause racine avant tout !

Àa marche aussi pour d'autres éléments que des tableaux, hein. Un long pré code qui déborde, une image très large... L'important c'est que ça ne casse pas la mise en page pour le reste.

Echoïs, oui, tout à fait, ça dépanne bien dans ces cas-là. Ceci dit, je me demande si on ne pourrait pas automatiser un peu plus ce genre de solution avec du javascript. Genre, un script qui détecte les éléments qui débordent et qui applique automatiquement le `overflow-x: auto`. Bon, après, faut pas que ça devienne une usine à gaz, mais l'idée serait de gagner du temps sur les corrections rapides. Qu'en pensez-vous ?

Manon Dubois, l'idée d'automatiser la détection et la correction des débordements avec du Javascript est intéressante. Cela dit, il faudrait faire attention à la performance. Un script qui scrute en permanence le DOM pour détecter les éléments débordants pourrait vite devenir gourmand en ressources. Mais si c'est bien optimisé, pourquoi pas !

Schmidt, c'est exactement ce que je me disais pour les performances. Un script qui tourne en boucle, ça peut vite plomber un site. Faudrait peut-être le lancer uniquement au chargement de la page, ou alors l'activer via un bouton dans une interface d'admin, un peu comme un mode "debug" pour les débordements. Mais bon, je me demande si le gain de temps serait vraiment significatif par rapport à une correction manuelle bien ciblée... Faut voir !