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" />