Возможно, это может сработать, но это может оказаться немного неприятным в какой-то момент в будущем (если не сразу).
<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>
Основанием для этого span
является то, что, как отмечают другие, a <td>
обычно расширяется для размещения контента, тогда как a <span>
может предоставляться - и ожидается, что будет сохранять - установленную ширину; overflow: hidden
предназначен, но не может, скрыть то , что в противном случае вызвать бы<td>
к расширению.
Я бы рекомендовал использовать title
свойство span, чтобы показать текст, который присутствует (или обрезан) в визуальной ячейке, чтобы текст оставался доступным (и если вы не хотите / не хотите, чтобы люди его видели, то зачем его иметь? во-первых, я думаю ...).
Кроме того, если вы определите ширину для td {...}
td будет расширяться (или, возможно, сжиматься, но я сомневаюсь в этом), чтобы заполнить ее подразумеваемую ширину (как мне кажется, это похоже table-width/number-of-cells
), указанная ширина таблицы, кажется, не создает та же проблема.
Недостатком является дополнительная разметка, используемая для презентации.