Вертикальное положение текста, отображаемого в Helvetica, и размер его области содержимого различаются между Firefox и Chrome для Mac. Например, в Chrome дескрипторы обрезаются, если высота строки идентична размеру шрифта.
(Ive скорректировал положение элементов блока в этом изображении, поддерживая базовую линию, чтобы проиллюстрировать разницу в размере и позиционировании текста). Если у вас есть Mac, вы можете увидеть, что я говорю о в этом JS-бине.
Теперь меня прямо не интересует, как исправить это конкретное несоответствие. Я понимаю, что есть настроенные вручную reset таблицы стилей, которые пытаются устранить или документировать разногласия, но меня особенно интересуют факторы, которые привели к тому, что эти браузеры делать по-разному в первую очередь.
Я делаю некоторые предположения здесь:
-
Стандарты существуют как для рендеринга шрифтов, так и для определения размеров и позиционирования глифов в стандартной модели окна, но могут быть неопределенными с точки зрения их взаимодействия.
-
В интерпретаторах браузеров существуют ошибки в отношении вышеупомянутых стандартов, которые могут влиять на размер, расположение и визуализацию текста.
-
Для этих конкретных браузеров большая часть обсуждения дизайна и фактической реализации является публичной в той или иной форме. Поэтому можно узнать источник таких расхождений, если знать, где искать.
-
Оба браузера начинаются в одном месте - разметка, стили и определения шрифтов согласованы между ними. В какой-то момент они расходятся в том, как они используют их для получения конечного результата.
Поэтому мой конкретный вопрос: , где в процессе происходит это расхождение и что его вызывает?
Я чувствую, что, вооружившись этими знаниями, я могу лучше понять, как исправить такие расхождения. И в этом случае конкретно, и в подобных ситуациях, с которыми я могу столкнуться в будущем.