Сначала я думал, что Firefox 3 не соблюдает эту часть спецификации CSS :
Несколько значений свойства 'display' составляют элемент уровня блока: 'block', 'list-item' и 'run-in' (часть времени; см. Поля run-in) и 'table ».
Я говорю это, потому что в спецификации говорится о сворачивающихся полях ...
Два или более смежных вертикальных поля блоков блоков в нормальном потоке потока.
... и установка стиля таблицы на display: block
приводит к сужению поля, как и следовало ожидать, а установка обратно на display: table
отменяет свертывание снова.
Но, глядя на это снова, спецификация также говорит это (выделено мной):
Элементы уровня блока ( за исключением отображаемых элементов таблицы , которые описаны в следующей главе) генерируют блок главного блока ... Блоки главного блока участвуют в контексте форматирования блока.
А затем в разделе Контекст форматирования блока :
Вертикальные поля между соседними блоками блоков в контексте форматирования блоков сворачиваются.
Чтение, заставляющее меня думать, что правильно, что поля между таблицей (которая не участвует в контексте форматирования блока) и абзацем (которая есть) не должны разрушаться.