Comment imiter Word-break: break-Word;
pour IE9, IE11 et Firefox?
Il semble fonctionner dans Chrome. J'ai appris et compris qu'il s'agit d'un kit Web non standard uniquement.
Pour info, j'ai essayé d'utiliser,
white-space: pre-wrap;
Et certains plus comme,
overflow-wrap: break-Word;
A également essayé le CSS mentionné ci-dessous,
Word-wrap: break-Word;
Word-break: break-Word;
Mais cela ne semble pas fonctionner.
Je ne peux pas fournir une largeur fixe à la portée (qui contient le texte) en lui faisant
display: block;
explicitement car le texte est dynamique et différera selon la géolocalisation de l'utilisateur. Actuellement, nous prenons en charge environ 18 langues.
Voici à quoi ressemble le code,
Le html,
<div id="grid2">
<span id="theSpan">Product Support</span>
</div>
Le CSS,
#theSpan{
white-space: pre-wrap; /* CSS3 */
white-space: -moz-pre-wrap; /* Firefox */
white-space: -pre-wrap; /* Opera 7 */
white-space: -o-pre-wrap; /* Opera 7 */
Word-wrap: break-Word; /* IE */
Word-break: break-all;
}
#grid2{
width: 100px;
}
Ça ressemble à ça,
Je veux que ce soit comme,
Veuillez noter:
J'ai dû utiliser Word-break: break-all;
comme pour certaines langues, le texte traduit est trop long et déborde de la grille. Le texte "Support produit" est dynamique.
Mise à jour:
J'ai une largeur fixe pour le div avec id, grid2. Dans l'une des langues, le texte traduit est trop long, c'est un seul mot et il sort de la grille2 div.
Mis à jour le code aussi.
J'ai eu un bon succès dans Chrome, Firefox et IE en utilisant uniquement:
Word-break: break-Word;
Word-wrap: break-Word;
Dans mon cas de problème, j'utilisais déjà:
display: table-cell;
et j'ai fini par devoir inclure
max-width: 440px;
pour envelopper dans tous les navigateurs. Dans la plupart des cas, la largeur maximale n'était pas nécessaire.
Utilisation display:table-caption
pour réaliser ce que vous recherchez.
Le HTML:
<div id="grid2">
<span id="theSpan">Product Support</span>
</div>
Le CSS:
#theSpan{
display:table-caption;
}
J'espère que cela t'aides.