2011-10-13 9 views
9

Ho la html folowing:Come si fanno a racchiudere le parole lunghe su newline ed evitare lo scroll orizzontale usando i CSS?

<div class="box"> 
    long text here 
</div> 

e css:

.box { 
    width: 400px; 
    height: 100px; 
    overflow: auto; 
    border: 1px gold solid; 
} 

Voglio solo di scorrimento verticale. Ma quando una parola è troppo lunga, viene visualizzata una pergamena orizzontale. Come faccio a completare le parole lunghe?

Se necessario, posso utilizzare un trucco con jQuery o PHP, ma mi piacerebbe risolverlo usando CSS, perché è un lavoro CSS.

che sai suonare qui: http://jsfiddle.net/879bc/1/

+1

Sheesh. Quanto potrebbe essere lunga una sola parola? Antidisestablishmentarianism? Pneumonoultramicroscopicsilicovolcanoconiosis? –

+0

@Robert Voglio una parola da avvolgere quando è più di 400px. (La larghezza del div) –

risposta

22
+1

** Demo live: ** http://jsfiddle.net/THC5q/ –

+0

@Timeless lavora per me su OSX Chrome 36.0.1985.125 –

+0

@Timeless yea, 'table> td' non dovrebbe corrispondere a nulla nel tuo HTML (dato che TD non è mai un figlio diretto di Table) –

0

La soluzione che ho usato in passato è una libreria di puntini di sospensione come http://dotdotdot.frebsite.nl/ per jQuery, è possibile specificare il numero di caratteri e lo hanno dot dot dot dopo che così è adatta a tutti su una riga.

2

Per l'interruzione di parole personalizzata, esiste un carattere speciale HTML che non viene utilizzato molto spesso- &shy; (trattino morbido) - che divide le parole su 2 righe e inserisce un trattino dopo la prima parte della parola se la parola si avvicina il bordo del suo contenitore. Il problema è che dovrai metterli ovunque tu li voglia. Come dici tu, però, puoi anche impostare una funzione js o php e inserirli nelle posizioni appropriate.

+1

** Demo live: ** http://jsfiddle.net/THC5q/1/ –

Problemi correlati