Более ранние спецификации CSS (за которыми следует IE6 - и я свободно использую слово «следует») неясно, что вообще должно означать отступ, определенный в таблице. IE6, естественно, решил интерпретировать это иначе, чем любой другой браузер, игнорируя отступы. Другие браузеры решили визуализировать его, добавив интервал между границей таблицы и внешними ячейками, не влияя на расстояние между ячейками или между внутренними ячейками. Ко времени выхода IE7 спецификации проработали так же, как и другие браузеры, но в IE6 все еще есть проблема, когда он просто игнорирует заполнение.
Лучшее решение состоит в том, чтобы не ставить отступы на стол, а вместо этого окружать его div и помещать там отступы.
<div style="padding: 5px;">
<table...>
</table>
</div>
Конечно, если вам нужен интервал между ячейками или заполнение ячеек (в отличие от простого дополнения таблицы), вам следует использовать атрибуты cellspacing
или cellpadding
(даже если они вам не нужны, по крайней мере, вам нужно cellspacing="0"
, чтобы избежать отдельной проблемы с рендерингом таблицы IE6).
Кроме того, встроенные стили здесь для демонстрационных целей; использование классов CSS обычно считается лучшей практикой.