У меня есть достаточно совместимый со стандартами сайт XHTML + CSS, который отлично смотрится во всех браузерах на ПК и Mac. На днях я увидел это на FF3 в Linux, и межбуквенный интервал был немного больше, что привело к поломке всего и нежелательному переносу и обрезке текста. Рассматриваемый CSS имеет
font-size: 11px;
font-family: Arial, Helvetica, sans-serif;
Я знаю, что это происходит с обычным шрифтом без засечек, что бы он ни отображал. Если я добавлю следующее, текст сморщится достаточно, чтобы приблизиться к тому, что я получаю на других платформах:
letter-spacing: -1.5px;
но это потребовало бы некоторого неприятного обнюхивания ОС на стороне сервера. Если есть решение на чистом CSS, я бы хотел его услышать.
Речь идет о Ubuntu 7.04, но это не имеет значения, поскольку я хочу исправить это, по крайней мере, для большинства, если не для всех пользователей Linux. Конечно, просить пользователя установить шрифт - это не вариант!






Я считаю, что самый простой способ решить проблемы с размером шрифта между браузерами - просто оставить место для ошибки. Делайте блоки div немного больше или шрифты немного меньше, чтобы вариации платформы не меняли существенно обтекание или отсечение.
Вы пробовали это в FF3 на windows?
Лично я считаю, что хороший сброс CSS имеет большое значение для того, чтобы ваша страница выглядела одинаково во всех браузерах.
A List Apart имеет красивый исчерпывающая статья о размере шрифтов в CSS. Они пришли к выводу, что для изменения размера текста следует использовать «ems», поскольку он, как правило, обеспечивает наиболее согласованный размер во всех браузерах. В них нет прямого упоминания о различных ОС, но вам следует попробовать использовать ems. Это может решить вашу проблему.
Различия в размере / расстоянии обычно трудно уловить. Что вы можете сделать, так это создать файл CSS для Linux, который будет содержать эти значения, скорректированные для Linux, а затем выполнить простое обнаружение на основе JS, чтобы внедрить этот CSS, если агент пользователя является агентом Linux.
Это, вероятно, не самый чистый подход, но он будет работать и с наименьшим вмешательством в ваш чистый HTML / CSS.
Если ваш сайт не ожидает превышения нормального объема трафика на базе Linux, вы, вероятно, отрицательно повлияете на большее количество людей, если «пожертвуете способностью пользователя настраивать его или ее среду чтения» вместо того, чтобы просто не заботиться о Linux. опыт.
Сказав это, если вам делать нужен приятный опыт работы с Linux, вам следует рассмотреть причины, по которым ваш дизайн ломается при небольших изменениях в расстоянии между шрифтами, учитывая, что эти проблемы трудно контролировать в текущих реализациях CSS.
В этом случае я готов пожертвовать способностью пользователя настроить среду чтения. Может быть, мне стоит отредактировать часть вопроса о "достаточно совместимости со стандартами" ;-)