2010-07-28 13 views
16

in un td di un table ho un lunghissimo termine singolo "Pneumonoultramicroscopicsilicovolcanoconiosis" e voglio ridurre la larghezza della table, ma in grado di farlo a causa di questo lungo termine in uno dei td posso rompere questa parola dando <br /> ma esiste un modo CSS per rompere questa parola in base allo spazio disponibile. senza dare interruzione di riga o modificare nulla in HTML.Come rompere la singola parola lunga in <td> usando i CSS?

risposta

4
td span{display:block;width:your_max_width_here.px} 

<td><span>Pneumonoultramicroscopicsilicovolcanoconiosis</span></td> 
+0

+1 thx per questa soluzione. c'è qualche possibilità di altro modo attraverso CSS puro bcoz tabella viene automaticamente generata dal CMS, quindi non posso aggiungere ''

+0

@ metal-gear-solido Quindi avvolgere il vostro primo valore con 'arco di max-width'd nell'origine dati prima di mostrarlo a html. –

28

provare quanto segue:

word-wrap: break-word; 
white-space: normal; 

word-wrap è css3 (ma funziona in IE). Tuttavia, potresti non riuscire a farlo funzionare nei browser più vecchi.

+1

Credo che il supporto di word-wrap' possa tornare indietro a IE5! –

+0

@ Adamo sì, che suona circa la destra :) –

+11

@BenRowe, dovrebbe aggiungere 'table {table-layout: fixed}'. Oppure prova questo: 'td {word-wrap: break-word; word-break: break-all} ' – hiway

4

provare il seguente codice per parola pausa, se non v'è alcuno spazio.

word-wrap: break-word; 
word-break: break-all; 
11

le seguenti opere per me:

word-wrap: break-word; 
    word-break: break-all; 
    white-space: normal; 
0

seguito il codice dovrebbe funzionare;

td {word-break: break-all} 
3

provare il mio codice -

Con Tavolo corpo

table>tbody>tr>th{ 
    word-wrap: break-word; 
    word-break: break-all; 
    white-space: normal; 
} 

Senza corpo Tabella

table>tr>th{ 
    word-wrap: break-word; 
    word-break: break-all; 
    white-space: normal; 
} 
2

Ho provato diverse combinazioni di soluzioni trovate qui e in altre pagine ma non ha mai funzionato come previsto per me - le brevi parole w Sono stati divisi anche se avessero spazio sulla linea sottostante e sembravano stupidi.

Finalmente ho trovato questo compromesso:

table { 
    table-layout: fixed; 
    overflow-wrap: break-word; 
    word-wrap: break-word; /* IE */ 
} 

Se si desidera trattare le righe allo stesso modo, funziona meglio.

0

Ho trovato quando si ha una miscela di contenuto nella cella, alcune lunghe singole parole mescolate con altre parole brevi, che word-break: break-word; funziona meglio. Si romperà negli spazi quando possibile. Anche se questo non sembra essere supportato in IE11. Se si imposta break-all su una delle proprietà menzionate, si romperà sempre all'interno di una parola (a meno che non sia abbastanza fortunato da trovarsi in uno spazio).

Problemi correlati