У меня есть таблица с 5 столбцами, 2 из которых имеют заданную ширину, остальные три - нет. Различные браузеры интерпретируют это противоречиво.
Взгляните на эту скрипку в разных браузерах, чтобы понять, что я имею в виду.
Firefox и IE9 отображают его так, как я считаю правильным: все ячейки имеют одинаковую ширину 20% (две имеют заданную ширину 20% каждая, а оставшиеся 60% делятся между оставшимися тремя ячейками).
Chrome, Opera, IE7 и IE8 заставляют пустые ячейки без заданной ширины иметь нулевую ширину, что, в свою очередь, заставляет две другие ячейки растягиваться до ширины 50% каждая. Помещение содержимого в одну из трех пустых ячеек заставляет их брать всю доступную ширину (60%, если в одной ячейке есть содержимое, 30%, если две, и т. Д.). Аналогичным образом, удаление содержимого из одной из двух ячеек с заданной шириной приводит к принудительной ширине 0.
Какие браузеры правильно поняли, а какие неправильно?
Кроме того, я просмотрел спецификацию W3C, касающуюся таблиц, но нашел только описание свойства empty-cells
, которое должно контролировать рендеринг пустых ячеек с границами / фоном, но это не влияет на ширину клеток. Я думал, что свойство table-layout
может сработать, но хотя установка table-layout:fixed
в Chrome заставляет все столбцы появляться, нет никакого способа (или, по крайней мере, я его не вижу) сделать противоположность в Firefox. Если бы вы могли уточнить это и / или указать мне на правильный раздел спецификации W3C, который охватывает это, я был бы очень признателен.