Стандарт определяет, как HTML / CSS-разметка должна быть визуализированной в , отображаемой как визуальные элементы. Он не определяет, как рендеринг должен работать конкретно. Много разных людей и компаний создали разные способы визуальной разметки. Поскольку рендеринг HTML - чрезвычайно сложная задача, конечно, они не все сходятся в одном и том же решении. Все движки рендеринга нацелены на одну и ту же цель, но часто спецификации достаточно расплывчаты, чтобы учесть небольшие различия (будь то просто пиксельный уровень), и ошибки также неизбежны.
Добавьте к этому, что в те времена поставщики браузеров меньше заботились о стандартах, а больше о том, чтобы быстро завоевать долю рынка, и что некоторые компании очень медленно обращались к стандартам (вы знаете, кто вы).
В конце, спецификации, которые являются довольно сложными, и браузеры, которые являются еще более сложными, написаны многими разными людьми ; вы не можете ожидать абсолютного совершенства в результате этого процесса. И совершенство также не является целью HTML; он должен быть простым, независимым от поставщика и платформы языком разметки для представления информации на различных устройствах, что он делает замечательно хорошо. Если вам нужны превосходные по пикселям результаты, вам необходимо использовать технологию, которая должна была обеспечить это, например Adobe Flash (которая не зависит ни от платформы, ни от поставщика, ни от простого).
Попытайтесь взглянуть на это с наполовину полной точки зрения: тысячи разных людей написали миллионы строк кода, выполняя совершенно разные вещи на разных платформах с разными целями и задачами, и все же, в конце концов, все отрисовывают HTML-разметка почти идентична, зачастую с небольшими, практически несущественными отличиями. Конечно, в каждом движке есть слабые места, и если вам удастся поразить их все сразу, ваш сайт будет ломаться во всех браузерах по-разному. Но этого можно избежать с небольшим опытом.