testo che scorre fuori dalla div


98

Quando il testo è senza spazi e più della dimensione del div 200px scorre fuori La larghezza è definita come 200px Ho messo il mio codice qui http://jsfiddle.net/madhu131313/UJ6zG/ Puoi vedere le immagini sotto modificate : Voglio il testo per passare alla riga successiva

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Risposte:


172

È dovuto al fatto che hai una parola lunga senza spazi. È possibile utilizzare la word-wrapproprietà per interrompere il testo:

#w74 { word-wrap: break-word; }

Ha anche un supporto browser abbastanza buono. Vedi la documentazione a riguardo qui .


3
non ha funzionato per me ecco un altro esempio.
Deepak Vaishnav

Questo è fantastico, ha risolto qualche problema nella pagina reattiva
yussan

Che soluzione semplice e pulita. Grazie per averlo condiviso.
Dzenis H.

108

Uso

white-space: pre-line;

Impedirà al testo di uscire dal file div. Spezzerà il testo quando raggiunge la fine del file div.


28

Dovresti usare overflow:hidden; oscroll

http://jsfiddle.net/UJ6zG/1/

o con php potresti abbreviare le parole lunghe ...


Fantastico, mi dispiace menzionare che voglio che vada alla riga successiva come la chat di Gmail o la chat di Facebook :)
madhu131313

Quindi puoi usare la versione di @chipcullen con il ritorno a capo! demo: jsfiddle.net/UJ6zG/3

8

È necessario applicare la seguente proprietà CSS al blocco contenitore (div):

overflow-wrap: break-word;

Secondo le specifiche (fonte CSS | MDN ):

La overflow-wrapproprietà CSS specifica se il browser deve inserire o meno interruzioni di riga all'interno delle parole per evitare che il testo trabocchi dalla casella del contenuto.

Con il valore impostato su break-word

Per evitare l'overflow, le parole normalmente indistruttibili possono essere interrotte in punti arbitrari se non ci sono punti di interruzione altrimenti accettabili nella riga.

Vale la pena citare...

La proprietà era originariamente un'estensione Microsoft non standard e non prefissata chiamata word-wraped è stata implementata dalla maggior parte dei browser con lo stesso nome. Da allora è stato rinominato in overflow-wrap, word-wrapessendo uno pseudonimo.


Se ti interessa il supporto dei browser legacy, vale la pena specificare entrambi:

word-wrap    : break-word;
overflow-wrap: break-word;

Ex. IE9 non riconosce overflow-wrapma funziona bene conword-wrap


Grazie, ha funzionato per me. Hai scritto "Con il valore impostato su break-world" - Sono abbastanza sicuro che volevi dire "break-word" senza la "l", spero che non volessi rompere il mondo;)
Jake Neumann

7

utilizzare overflow:autoDarà uno scroller per il testo all'interno del div:).


4

Se questo aiuta. Aggiungi la seguente proprietà con valore al tuo selettore:

white-space: pre-wrap;

2

Questo ha fatto il trucco per me:

{word-break: break-all; }


1
grazie mille questa è stata l'unica cosa che ha funzionato per il mio (utilizzando componenti in stile in React)
mlz7

0

recentemente l'ho riscontrato. Ero solito:display:block;


-6

Se è solo un'istanza che deve essere racchiusa su 2 o 3 righe, ne userei solo alcune <wbr>nella stringa. Tratterà quelli esattamente come <br>ma non inserirà l'interruzione di riga se non è necessario.

<div id="w74" class="dpinfo">
adsfadsadsads<wbr>fadsadsadsfadsadsa<wbr>dsfadsadsadsfadsadsads<wbr>fadsadsadsfadsadsadsfa<wbr>dsadsadsfadsadsadsfadsad<wbr>sadsfadsadsads<wbr>fadsadsadsfadsads adsfadsads
</div>

Ecco un violino.

http://jsfiddle.net/gaby_de_wilde/UJ6zG/37/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.