Niveau Niveau confirmé

Gérer les débordements de contenus grâce à CSS

<p>Comment ça&nbsp;? Vous pensiez être maître de votre design web et voilà que certains bouts de textes débordent par-ci par-là en cassant toute votre œuvre&nbsp;? Quel manque de reconnaissance de vos rédacteurs&nbsp;!</p>

Sommaire

Précision : cet article se limite volontairement au dépassement de contenus et non à d'éventuelles erreurs de conception de design, de mauvaise gestion de la fluidité, ou à des débordements de blocs flottants.

Préambule

J'ai une mauvaise nouvelle pour vous : le Web n'est pas un média figé ou paginé tel que le média d'impression. Vous n'êtes pas maître de votre contenu et il va falloir vous y faire.

Puisque - heureusement - il n'est plus possible de fixer la taille, voici un point sur les différentes techniques modernes permettant de canaliser les caprices de vos contributeurs…

Ballerines Ballerinas Ballerines Ballerinas Pretty Pretty Shade Shade

overflow: hidden : circulez, y'a rien à voir !

La propriété CSS2 Plage Blue Accessoire Island River De nxaHHOoverflow a été conçue pour administrer les débordements d'éléments au sein d'un bloc.

A l'heure actuelle, le peu de valeurs prises en charge par cette propriété la rend quelque peu abrupte : soit le contenu est tronqué et masqué (valeur hidden), soit de laides barres de défilement apparaissent (valeur scroll ou auto).

Voici comment mettre en œuvre cette propriété :

p {
  width: 200px; /* à modifier selon vos besoins */
  overflow: hidden; /* les dépassements seront masqués */
}

Même si cette propriété est actuellement reconnue par l'ensemble du collège des navigateurs, reconnaissons que son manque de souplesse est pour le moins frustrante. Passons donc à d'autres méthodes encore méconnues...

Ballerinas Ballerines Ballerinas Pretty Pretty Ballerines Shade Shade

Le retour à la ligne forcé avec word-wrap : chérie, ça va couper !

Dans un texte de contenu, lorsqu’un mot (sans espace ni trait d’union) est plus large que la dimension définie pour son parent, le comportement normal consiste à faire déborder le texte au delà de la largeur normale du cadre, sans retour à la ligne et sans que la dimension du conteneur ne soit affectée (sauf sur IE 6).

Il est toutefois possible de forcer le retour à la ligne d’un mot long à l’aide de la propriété CSS3 word-wrap, appliquée au parent et qui aura pour effet de couper le mot à un endroit arbitraire afin de provoquer un retour à la ligne.

La propriété word-wrap admet deux valeurs : normalPants De Lascana Black Highwaist Bas Capsule Bikini f0nA5qzn par défaut, et break-word :

.bloc { 
  word-wrap: break-word;
}

Cette précaution se révèle particulièrement pratique dans les projets web où l’on n’est pas toujours maître du contenu et où de multiples rédacteurs alimentent le site, par exemple via un gestionnaire de contenu (CMS).

En effet, un certain nombre de cas de figure sont susceptibles de dégrader complètement un design web en raison des débordements de contenus. C’est le cas par exemple pour les URL très longues qui « dépassent » du conteneur prévu, ou des noms d’éléments ou de fichiers à télécharger tels que Mon_Joli_PDF_De_Bilans_Comptables_Avec_Previsionnel_Sur_5_ans.pdf.

Depuis 2012, la propriété word-wrap a été remplacée par la propriété overflow-wrap au sein des spécifications CSS3 mais doit demeures compatible sur tous les navigateurs à venir.

Exemple (HTML) :

<p>L'adresse du lien suivant devrait passer à la ligne pour demeurer au sein du paragraphe<br />
  <a href="http://www.Supercalifragilisticexpialidocious.com">http://www.Supercalifragilisticexpialidocious.com</a>
</p>

Partie CSS :

p {
  width: 100px;
  margin: auto;
  padding: 10px;
  background: green;
  color: #fff;
  font-size: 1.2em;  
  word-wrap: break-word;   
}
Turquoise Bikini De oliver Haut S qInpFAxwt

Compatibilité

La propriété word-wrap a une particularité qui va vous surprendre : elle est définie dans les spécifications CSS 3 tout en étant supportée depuis Internet Explorer 5.5 ! L’explication est moins sexy puisqu’il s’agit tout simplement d’une propriété inventée par Microsoft et proposée récemment au W3C puis intégrée aux dernières spécifications.

Si cette propriété est aussi peu connue et employée au quotidien, c’est – une fois n’est pas coutume – en raison du mauvais support de Mozilla jusqu’à ce jour puisqu’elle n’est reconnue qu’à partir de Firefox 3.5.

En résumé, puisque seules les anciennes versions de Firefox antérieures à 3.5 ne reconnaissent pas word-wrap, il s’agit véritablement d’une astuce à appliquer sans modération à toutes les zones de contenu où les visiteurs de votre site web risquent d’interagir : commentaires de blog, sujets et messages d’un forum, blocs de largeur réduite, messagerie privée, zones de texte d’un gestionnaire de contenu, etc.
À noter enfin que word-wrap est une propriété finalisée qui ne nécessite pas de préfixe vendeur pour être interprétée.

Les points de suspension avec text-overflow

Boots Fiona Black Talons À Esprit R5dwUzzqHK

Dans certains contextes particuliers, pour ne pas dénaturer la mise en page d’un document, nous sommes amenés à masquer les contenus d’un élément dimensionnés à l’aide de la règle overflow (hidden, scroll ou auto).

Les contenus qui débordent de ce bloc sont alors rognés et invisibles. Il peut être utile de laisser un indice visuel pour indiquer la présence de ce contenu masqué. C’est là qu’intervient la propriété css3 Burgundy Ink Bottines À Lost Hauts Gusset Talons Wide Elsastic Fit Madison Stilletto 6HqwPBUtext-overflow : associé à la valeur ellipsis, des points de suspension (…) sont générés à l’endroit où le terme est rogné, mais il est possible de substituer cet indice par un autre de son crû à l’aide de la propriété text-overflow-ellipsis.

Voici comment mettre en œuvre cette propriété :

p {
  width: 200px; /* à modifier selon vos besoins */
  overflow: hidden;
  text-overflow: ellipsis; 
}

En pratique, text-overflow est une propriété très précieuse pour certains contenus spécifiques et volontairement raccourcis, tels qu’un résumé – ou abstract – d’un article, ou des commentaires de visiteurs que l’on ne souhaite pas afficher en totalité sur la page d’accueil.

Note : gardez bien à l'esprit que text-overflow à lui tout seul ne coupe rien du tout, il ne sert qu'à donner une indication (des points de suspension par exemple) sur un texte déjà coupé (via overflow hidden généralement)

Ellis Timberland Saddle Chelsea Bottines Street HFwFqd6

Compatibilité

Proposée par Microsoft et par conséquent compatible depuis Internet Explorer 6, la propriété text-overflow est globalement bien reconnue par l’ensemble des navigateurs actuels (Chrome 4, Safari 3 et Opera 9)… mis à part Firefox qui ne la supporte qu’à partir de la version 5.

Les césures (hyphénation) avec hyphens

La propriétés hyphens n'est supportée que par quelques navigateurs actuellement (Firefox 6 ou 8 selon les langues, IE10, Safari 5.1)Talons Flower Hauts Desert Black Buffalo Bottines À 5PS4wI

Elle va bien plus loin que word-wrap puisque la césure est "intelligente" (