Es posible que esto funcione, pero podría resultar un poco molesto en algún momento en el futuro (si no de inmediato).
<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 razón para esto span
es que, como lo han señalado otros, a <td>
se expandirá típicamente para acomodar el contenido, mientras que a <span>
se le puede dar -y se espera que mantenga- un ancho establecido; El overflow: hidden
objetivo es ocultar, pero puede que no, lo que de otro modo causaría la <td>
expansión.
Recomiendo usar la title
propiedad del span para mostrar el texto que está presente (o recortado) en la celda visual, de modo que el texto todavía esté disponible (y si no quiere / necesita que la gente lo vea, entonces ¿por qué tenerlo? en primer lugar, supongo ...).
Además, si define un ancho para el td {...}
td se expandirá (o potencialmente se contraerá, pero lo dudo) para llenar su ancho implícito (como lo veo, parece ser table-width/number-of-cells
), un ancho de tabla específico no parece crear El mismo problema.
La desventaja es el marcado adicional utilizado para la presentación.