Не похоже, что это может быть достигнуто только через CSS.
Я сознательно избегал использования скрипта, потому что я предпочитаю использовать браузер, который переформатирует все для меня, когда страница динамически манипулируется, вместо того, чтобы писать ручной код для обновления ширины.
В конце я обошел проблему, указав минимальную ширину для моих таблиц, которая должна быть шире, чем длина любого заголовка, который у меня будет.
Internet Explorer 6 и 7 не поддерживают min-width
, но так как у меня есть общий скрипт, который создает отображаемые таблицы, я динамически создаю дополнительный элемент thead
, который имеет одну ячейку, охватывающую каждый столбец, который Я делаю стиль, чтобы эффективно дать мне тот же результат:
CSS
table {
min-width: 600px;
}
th.min-width {
*width: 600px;
}
Структура таблицы HTML
<table>
<thead><tr><th colspan="3" class="min-width"></th></tr></thead>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
</thead>
<tbody>
...
</tbody>
</table>