La cellule de la Table et de la frontière de l'affichage différemment dans IE/Chrome et Firefox/Opera

Après plusieurs heures de frustration que j'ai enfin tourné vers l'internet pour la réponse. Imaginez très simple, ce morceau de code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>AARRRRRRGH</title>
    </head>
    <body>
        <table>
            <tr>
                <td style="width: 100px; height: 100px; background: #000000; padding: 0px; border: 6px solid #FF0000;"></td>
            </tr>
        </table>
    </body>
</html>

Maintenant, cela semble assez simple, créer une cellule de tableau 100px 100px de large et de haut avec un 6px frontière. Aussi simple qu'il y paraît, il est différent dans les différents navigateurs. Dans IE8 et google chrome la cellule du tableau est de 112 x 112 px (donc 100px l'intérieur et à l'6px à l'extérieur). Dans Firefox 3 et opera la table est de 112 x 100 px (si pour une raison quelconque, la frontière est ajoutée à la largeur de la table, mais pas à la hauteur de la table).

Au sérieux, ce qui donne? Et comment puis-je faire ce rendu de la même manière sur tous les navigateurs (et non, je ne peux pas utiliser un div j'ai besoin d'utiliser un tableau dans ce cas).

OriginalL'auteur | 2009-03-31