Firefox 1 пиксель ошибка с бордюр-коллапс, обходной путь? - PullRequest
34 голосов
/ 24 июня 2009

Есть ли обходной путь для следующей ошибки «1 пиксель влево»?

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">                                   
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">   
<body>
<div style="padding: 50px">
<div style="border: 1px solid red">Table header info</div>
<table style="border: 1px solid green; border-collapse: collapse; width: 100%">
    <tbody>
        <tr>
            <th>Col1</th>
            <th>Col2</th>
        </tr>
        <tr>
            <td>Hello</td>
            <td>World</td>
        </tr>
    </tbody>
</table>
<div style="border: 1px solid red">Table footer info</div>
</div>
</body>
</html>

Это выглядит так:

Firefox CSS bug

Есть ли какое-нибудь чистое решение CSS для этого?


Редактировать

Мне было немного неясно насчет моего стола, так что вот снова:

С обвалом границы:

Firefox CSS bug

С cellspacing = "0" и без коллапса границы, как предложено:

Firefox CSS bug

Так что теперь границы внутри моей таблицы удвоены , но я хочу, чтобы граница моего стола составляла 1 пиксель.

Когда я удаляю 1px рамку из таблицы, я заканчиваю:

Firefox CSS bug

Границы внутри моего стола все еще дублируются.

Я мог бы установить только правую и нижнюю границу для каждого TD, TH и левой границы для каждого первого ребенка в TR, чтобы достичь того, чего я хочу, но я думаю, что есть более простой способ?

Ответы [ 12 ]

0 голосов
/ 15 января 2010

Я столкнулся с этой проблемой - но в моем случае это было связано с тем, что таблица была вложена в элемент div, переполненный: скрытый. Я удалил это, и это сработало.

0 голосов
/ 24 июня 2009

Я не думаю, что когда-либо слышал о «1px на левую ошибку», вы должны загрузить свой код куда-нибудь, чтобы мы могли проверить его и убедиться, что это не ошибка «Я что-то пропустил» :) Я также предложил бы пройтись по вашей разметке с помощью Firebug, чтобы определить, что-то не так.

...