Firefox 4 и таблица-макет: исправлены
У меня проблема, которая, кажется, была введена между Firefox 3 и 4. По существу это нужно делать с table-layout: fixed
.
У меня есть прокручиваемая таблица, в которой используются два DIV, один для заголовка и один для тела (к сожалению, это единственный вариант, который работал у меня).
Таблица body выглядит примерно так (обратите внимание, что все это сгенерировано с помощью JavaScript, это часть приложения GWT):
<table style="table-layout: fixed;">
<colgroup>
<col width="61" />
<col width="57" />
</colgroup>
<tbody>
<!-- data -->
</tbody>
</table>
(кстати, страница объявлена как HTML 4.01 Transitional)
Похоже, что в Firefox 3 ширины столбцов соблюдаются. Тем не менее, в Firefox 4, похоже, некоторое время игнорирует ширину столбца (трудно точно определить, но обычно, когда таблица начинает становиться достаточно маленькой, чтобы она была сложной для изменения размера Firefox). Если я проверю ширину столбцов в Firefox, они, как правило, имеют мало отношения к ширине, как указано в HTML.
Мне просто интересно, может ли кто-нибудь пролить свет на то, почему это может произойти?
Ответы
Ответ 1
Прежде всего, убедитесь, что ваша разметка проверена. Вы используете стиль "/" > " SHORTTAG, что недопустимо в HTML 4.01 (эти закрытия действительны только в XHTML).
Я не знаю, заставит ли неожиданный shorttag заставить браузер перейти в "Режим Quirks" (проверьте страницу Info...)? Режим Quirks - это смерть для устранения неполадок.
Если ваш FireFox имеет расширение веб-разработчика, я бы осмотрел таблицу и все, что внутри нее... может быть, что-то толкает стены стены.
Я не могу больше догадываться о проблеме. Недостаточно данных. Было бы полезно, если вы сохраните полный HTML-код в браузере (затем тщательно вычеркните ненужные или конфиденциальные биты), а затем проверьте, что проблема все еще происходит в более простом случае использования. Если это так, разместите этот случай в Интернете где-нибудь, и люди смогут его проверить.
Помимо коротких тегов, вы не обнаружили, что делаете что-то неправильно. Но, как я и предположил, в корпусе стола, вероятно, что-то происходит...
Ответ 2
Почему бы вам не использовать это:
display:table;
posiiton:fixed;
И для col-тега используйте CSS:
<col style="width:61px;" />
<col style="width:57px;" />
Ответ 3
Вам может потребоваться число px после числа в FF 4. Проверьте это:
<col width="61px" />
<col width="57px" />