IE8 игнорирует ширину td, работает в IE7

Вот такая таблица:

<table width="100%">
<tr id="header">
 <td colspan="2"></td>
</tr>
<tr id="center">
 <td id="left" style="width: 201px"></td>
 <td id="mainpage" style="width: 100%"></td>
</tr>
</table>

В любом браузере (включая IE7), кроме IE8, "левый" тд в порядке. В IE8 он превышает ширину в соответствии с содержимым главной страницы.

Я бы выложил скриншоты, но это мой первый пост здесь.

Есть какие-нибудь идеи?


person Bill    schedule 22.07.2010    source источник
comment
как вы хотите сделать общую ширину таблицы 201px + 100% ??   -  person Adam Lukaszczyk    schedule 22.07.2010
comment
Я не. Но этот макет устраняет проблему IE7. И это не влияет на IE8.   -  person Bill    schedule 22.07.2010


Ответы (4)


Этот width: 100% во втором столбце выглядит неправильно - если вы пытаетесь расширить второй столбец до остальной части доступного пространства, вам это вообще не понадобится, поэтому вы можете удалить его. Также добавьте это в свою таблицу:

table-layout: fixed;

чтобы убедиться, что ширина соблюдается.

полный код:

<table style="width: 100%; table-layout: fixed;">
<colgroup>
    <col style="width: 201px">
</colgroup>
<tr id="header">
    <td colspan="2"></td>
</tr>
<tr id="center">
    <td id="left"></td>
    <td id="mainpage"></td>
</tr>
</table>
person Razor    schedule 22.07.2010
comment
Подумал об этом и попробовал, но как только я установил макет таблицы на фиксированный, два столбца получают одинаковую ширину (50%), и он игнорирует фиксированные значения. 100% второго столбца есть исправление для IE7. - person Bill; 22.07.2010
comment
Пожалуйста, попробуйте отредактированное решение с добавленными столбцами - не очень крутое решение, но оно работает. - person Razor; 22.07.2010
comment
Это действительно так! Кажется лучше, чем мое решение, я соглашусь с этим. Спасибо! - person Bill; 22.07.2010
comment
Большое вам спасибо ... это устранило мою проблему ... Этот IE (вздох) - person Mirko Akov; 29.02.2012

Вы уверены, что это должно быть 100%

<table width="100%">

Таблица будет такого же размера, как и ее родительский элемент. Возможно, вам следует установить фиксированную ширину таблицы:

<table width="600">
person Sarfraz    schedule 22.07.2010
comment
Таблица находится в блоке div, занимающем весь экран. - person Bill; 22.07.2010

Если вы определяете ширину своей таблицы и своей первой, вам не нужно определять ее для второй.

Я предполагаю, что второй получает 100% от контейнера, который является таблицей.

person Boris Delormas    schedule 22.07.2010

Что ж, проблема несколько решена добавлением пустой таблицы фиксированной ширины внутри главной страницы.

Таким образом, я фактически устанавливаю минимальную ширину в соответствии с игнорированием IE. Спасибо за ответы на все вопросы.

person Bill    schedule 22.07.2010