IE 7 и IE 8 не отображают 2 последовательных деления с помощью float: left в одной строке, если в одном из DIV есть таблица - PullRequest
0 голосов
/ 17 июля 2009

IE 7 и IE 8 не отображают 2 последовательных деления с помощью float: слева на одной строке, если в одном из DIV есть таблица с шириной 100% + ненулевое поле:

<html> <head> <title>IE float left bug</title> <style type="text/css"> .inttable { width: 100%; margin: 9px; } .multicolumn { margin: 0px; border: 0px; padding: 0px; width:100%; } .column { margin: 0px; border: 0px; padding: 0px; float:left; display: inline; } </style> </head> <body> <div class="multicolumn"> <div class="column" style="width:50%;"> <table class="inttable"> <tr> <td>table1</td> </tr> </table> </div> <div class="column" style="width:50%;"> column 2 </div> </div> </body> </html>

В FireFox, Opera, Chrome и Safari такой проблемы нет.

Кто-нибудь знает обходной путь для этой ошибки IE?

Ответы [ 4 ]

1 голос
/ 17 июля 2009

Как упомянул в своем комментарии Скунлифф, этот html переходный или строгий xhtml решает проблему.

0 голосов
/ 17 июля 2009

Изменение margin: 9px; на padding: 9px; решает проблему в моем случае.

0 голосов
/ 17 июля 2009

Ошибка, кажется, сдвиг на 1px, введенный ужасным движком рендеринга IE.

Поля на таблице неизбежно выталкивают плавающий div наружу в IE, поэтому самое простое рабочее решение, которое я нашел, - это добавить отрицательный левый отступ во второй столбец, равный размеру вашей таблицы + 1 px. Так что в этом случае это будет margin-left:-19px;

Это странная и расстраивающая ошибка. Надеюсь, что это решение работает для вас.

0 голосов
/ 17 июля 2009

интересно, делает изменение отображения: встроенный;для отображения: встроенный блок;сделать что-нибудь?

edit : ничего не делать, но удаление поля: 9px из таблицы исправляет это

, а добавление цветных границ ко всему облегчает отладку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...