chrome vs FF / IE / Opera при расчете ширины ячейки таблицы? (макет таблицы: исправлено)

Я искал сейчас почти полдня ... но я не мог выяснить, почему chrome6 / 7 кажется единственным браузером по сравнению с IE8 / FF3.6 / Opera, которая не добавляет заполнение к указанной ширине ячейки таблицы.

Конечно, это становится критически важным, если вы работаете с макетом таблицы: исправлено, из-за того, что вдруг им приходится обращать внимание на указанную ширину в пикселях.

Хорошо, наконец, мой вопрос: кто-нибудь знает, почему Chrome вычисляет по-другому, и какой браузер прав (стандартное соответствие), и надеюсь, есть ли элегантное решение?

На данный момент единственным решением будет условный комментарий с chrome.css, где я добавлю отступы к ширине вручную ... shiver ...

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

ДОПОЛНЕНИЕ: ( в отношении ответов )
прежде всего, спасибо за ваши немедленные ответы ... я пытался сделать его как можно более коротким, и там я свел факты к минимуму ... но, как вы упомянули, в веб-разработке существует множество вариаций и поэтому я попытаюсь уточнить ...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4 /strict.dtd">
<html>
<head>
    <style type="text/css">
        div { width:300px; }
        table { table-layout:fixed; width:100%; height:50px; }
        td.col1 { width:20px; background-color:blue; }
        td.col2 { width:40px; background-color:red; }
        td.col3 { width:60px; background-color:yellow; }
        td.col3 { width:auto; background-color:yellow; } 

        td { padding:5px; }
    </style>
</head>
<body>
    <div>
        <table cellpadding="0" cellspacing="0">
            <tr>
                <td class="col1"></td>
                <td class="col2"></td>
                <td class="col3"></td>
                <td class="col4"></td>
            </tr>
        </table>
    </div>
</body>

теперь, если вы переключите строку css

td { padding:5px; }

в разных браузерах, вы увидите, что chrome включает отступы по ширине, в то время как другие добавляют его

. помогает уточнить и заранее спасибо
Берни

5
задан berny 31 August 2010 в 10:07
поделиться