Comment faire pour Word wrap texte en HTML?

comment un texte comme aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa qui dépasse la largeur d'un div (dites 200px ) peut-il être enveloppé?

je suis ouvert à tout type de solution tels que CSS, jQuery, etc.

158
demandé sur trejder 2009-07-18 19:56:31

16 réponses

essayez ceci:

div {
    width: 200px;
    word-wrap: break-word;
}
210
répondu Alan Haggai Alavi 2009-07-18 16:02:12

vous pouvez utiliser un trait d'Union doux comme ainsi:

aaaaaaaaaaaaaaa­aaaaaaaaaaaaaaa

cela apparaîtra comme

aaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaa

si la boîte contenant n'est pas assez grande, ou comme

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

si c'est le cas.

50
répondu Kim Stebel 2016-02-06 17:08:00

Sur bootstrap 3, assurez-vous que l'espace n'est pas défini comme 'nowrap'.

div {
  width: 200px;
  word-break: break-all;
  white-space: normal;
}
47
répondu lukaserat 2013-11-12 08:39:05
   div {
    // set a width
    word-wrap: break-word
}

L ' word-wrap solution ne fonctionne que sous IE, et les navigateurs supportant CSS3 .

la meilleure solution de navigateur croisé est d'utiliser votre langage côté serveur (php ou autre) pour localiser de longues chaînes et placer à l'intérieur d'eux dans des intervalles réguliers l'entité html ​ Cette entité casse bien les longs mots, et fonctionne sur tous les navigateurs.

p.ex.

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa​aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
26
répondu Orr Siloni 2014-02-27 07:05:33

le seul qui fonctionne à travers IE, Firefox, chrome, safari et opera s'il n'y a pas d'Espaces Dans le mot (comme une longue URL) est:

div{
    width: 200px;  
    word-break: break-all;
}

j'ai trouvé ça à l'épreuve des balles.

8
répondu Kyle Dearle 2015-05-05 11:19:50

cela a fonctionné pour moi

word-wrap: normal;
word-break: break-all;
white-space: normal;
display: block;
height: auto;
margin: 3px auto;
line-height: 1.4;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
7
répondu Amol 2016-06-02 02:04:45

une autre option utilise aussi:

div
{
   white-space: pre-line;
}

cela définira tous vos éléments div dans tous les navigateurs qui prennent en charge CSS1 (qui est à peu près tous les navigateurs courants aussi loin que IE 8)

6
répondu Andrew Marais 2014-10-14 15:59:54

ajouter ce CSS au paragraphe.

style="width:420px; 
min-height:15px; 
height:auto!important; 
color:#666; padding: 1%; 
font-size: 14px; 
font-weight: normal;
word-wrap: break-word; 
text-align: left" 
2
répondu Swapnil Godambe 2013-02-07 17:16:12

De La Croix-Navigateur

.wrap
{
    white-space: pre-wrap; /* css-3 */    
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
    white-space: -pre-wrap; /* Opera 4-6 */    
    white-space: -o-pre-wrap; /* Opera 7 */    
    word-wrap: break-word; /* Internet Explorer 5.5+ */
}
2
répondu Timeless 2017-05-23 12:18:25

une solution côté serveur qui fonctionne pour moi est: $message = wordwrap($message, 50, "<br>", true);$message est une variable chaîne contenant le mot/les caractères à casser. 50 est la longueur maximale d'un segment donné, et "<br>" est le texte que vous voulez insérer chaque (50) caractères.

0
répondu deshbanks 2012-01-23 07:31:09

Essayez cette

div{
  display: block;
  display: -webkit-box;
  height: 20px;
  margin: 3px auto;
  font-size: 14px;
  line-height: 1.4;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

la propriété " text-overflow: ellipsis ajouter ... et Clamp de ligne montrent le nombre de lignes.

0
répondu Vladimir Salguero 2014-11-27 21:10:24

Exemple de CSS Astuces :

div {
    -ms-word-break: break-all;

    /* Be VERY careful with this, breaks normal words wh_erever */
    word-break: break-all;

    /* Non standard for webkit */
    word-break: break-word;

    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

autres exemples ici .

0
répondu Juraj Guniš 2015-02-04 12:56:15

Dans le corps HTML essayez:

<table>
    <tr>
        <td>
            <div style="word-wrap: break-word; width: 800px">
                Hello world, how are you? More text here to see if it wraps after a long while of writing and it does on Firefox but I have not tested it on Chrome yet. It also works wonders if you have a medium to long paragraph. Just avoid writing in the CSS file that the words have to break-all, that's a small tip.
            </div>
        </td>
    </tr>
</table>

dans CSS body try:

background-size: auto;

table-layout: fixed;
0
répondu Wesson2 2016-02-06 17:16:21

Essayez cette

div {display: inline;}
0
répondu Michael Mulikita 2018-07-18 16:58:31

j'ai utilisé bootstrap. On dirait mon code html ..

<div class="container mt-3" style="width: 100%;">
  <div class="row">
    <div class="col-sm-12 wrap-text">
      <h6>
        text content
      </h6>
    </div>
  </div>
</div>

CSS

.wrap-text {
     text-align:justify;
}
0
répondu Rahul Wasnik 2018-09-18 02:45:55

utiliser" l'attribut 151910920 " avec la largeur requise. Principalement, mettre la largeur en pixels, pas en pourcentages.

width: 200px;
word-wrap: break-word;
-1
répondu aks 2013-02-25 12:35:44