После нескольких часов разочарования я наконец обратился к Интернету за ответом. Представьте себе этот чрезвычайно простой фрагмент кода:
<!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>
Теперь это кажется довольно простым, создайте ячейку таблицы шириной 100 пикселей и высотой 100 пикселей с границей 6 пикселей. Как бы просто это ни казалось, в разных браузерах это выглядит по-разному. В IE8 и Google Chrome ячейка таблицы имеет размер 112 x 112 пикселей (то есть 100 пикселей внутри и 6 пикселей снаружи). В Firefox 3 и Opera размер таблицы 112 x 100 px (поэтому граница почему-то добавляется к ширине таблицы, а не к ее высоте).
Серьезно, что дает? И как я могу сделать этот рендеринг одинаковым в каждом браузере (и нет, я не могу использовать div, в этом случае мне нужно использовать таблицу).