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