Проблема Internet Explorer в таблице с шагом 1 пиксель - PullRequest
1 голос
/ 21 июля 2009

Я обнаружил странную проблему с Internet Explorer, связанную с интервалом между таблицами, и не могу найти способ ее обойти. Пустая таблица приводит к пробелу в один пиксель в Internet Explorer (6 и 7, 8 еще не протестированы), в то время как все остальные браузеры игнорируют пустую таблицу. Вот картина проблемы:

альтернативный текст http://img30.imageshack.us/img30/295/tablepixelbug.png

И вот минимальный HTML-код для воспроизведения проблемы (обратите внимание, что больше атрибутов css margin / padding и атрибутов таблицы указано, чем действительно необходимо, я только что протестировал, исправляет ли это поведение IE):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<body>

<div style="width: 200px; border: 1px black solid">
    <table border="0" cellspacing="0" cellpadding="0" 
        style="margin: 0pt; padding: 0pt; border-collapse: collapse;">
        <tr>
            <td style="padding: 0; margin: 0">
            </td>
        </tr>
    </table>

    <div style="background: red">
        Test
    </div>
</div>

</body>
</html>

Я не использую пустую таблицу, как указано в примере выше, но это был минимальный код, отображающий это поведение. Любые идеи о том, как это исправить и удалить пустое пространство с IE?

Ответы [ 3 ]

2 голосов
/ 21 июля 2009

Я предлагаю вам удалить стиль из таблицы и применять его только к ячейкам (даже не к строкам). Стили таблиц и тегов tr иногда могут вызывать побочные эффекты.

1 голос
/ 12 июня 2010

Старый пост, который я знаю, но наткнулся на него, когда сам искал решение. Может показаться, что это исправлено в IE8, но я попробовал все известные мне приемы, чтобы отсортировать их в IE6 / 7, и просто не смог найти достойного пути. В конце концов я выбрал вариант добавления margin-top: -1px; на красный div (или любой другой элемент), используя целевой селектор IE6 / 7. Какая неприятная ошибка!

Allan

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

Вы можете попытаться иметь отображение: нет на столе, если оно пустое, и сделать это в javascript.

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