IE8 игнорирует ширину td, работает на IE7 - PullRequest
21 голосов
/ 22 июля 2010

Таблица выглядит так:

<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 он превышает ширину в зависимости от содержимого главной страницы.

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

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

Ответы [ 4 ]

41 голосов
/ 22 июля 2010

То, что 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>
0 голосов
/ 22 июля 2010

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

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

0 голосов
/ 22 июля 2010

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

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

0 голосов
/ 22 июля 2010

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

<table width="100%">

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

<table width="600">
...