È possibile che ciò funzioni, ma potrebbe rivelarsi un po 'fastidioso ad un certo punto in futuro (se non immediatamente).
<style>
tbody td span {display: inline-block;
width: 10em; /* this is the nuisance part, as you'll have to define a particular width, and I assume -without testing- that any percent widths would be relative to the containing `<td>`, not the `<tr>` or `<table>` */
overflow: hidden;
white-space: nowrap; }
</style>
...
<table>
<thead>...</thead>
<tfoot>...</tfoot>
<tbody>
<tr>
<td><span title="some text">some text</span></td> <td><span title="some more text">some more text</span></td> <td><span title="yet more text">yet more text</span></td>
</tr>
</tbody>
</table>
La logica di span
ciò è che, come sottolineato da altri, una <td>
volontà si espande in genere per adattarsi al contenuto, mentre a <span>
può essere data - e ci si aspetta che mantenga - una larghezza prestabilita; il overflow: hidden
è destinato a, ma non potrebbe, nascondere ciò che altrimenti causare <td>
ad espandersi.
Consiglio di usare la title
proprietà dell'intervallo per mostrare il testo presente (o ritagliato) nella cella visiva, in modo che il testo sia ancora disponibile (e se non vuoi / hai bisogno che le persone lo vedano, perché farlo in primo luogo, immagino ...).
Inoltre, se si definisce una larghezza per il td {...}
td si espanderà (o potenzialmente si contrarrà, ma ne dubito) per riempire la sua larghezza implicita (come la vedo io sembra che siatable-width/number-of-cells
), una larghezza di tabella specificata non sembra creare lo stesso problema.
Il rovescio della medaglia è il markup aggiuntivo utilizzato per la presentazione.