Ответ 1
Добавьте это в свой CSS:
* {-webkit-font-smoothing: antialiased;}
Я создал fiddle, пытающийся использовать шрифт Open Sans со шрифтом 300:
HTML
<span class="demo">example</span>
CSS
.demo {
font-weight: 400 !important;
font-family: 'Open Sans' !important;
font-style: normal;
font-variant: normal;
}
Я использую Google fonts для определения CSS
Я вижу разницу в Firefox (Ubuntu 13.10) при рендеринге в font-weight: 300 (светлый) и в font-weight: 400 (обычный), но ни один в Chrome (версия 33.0.1750.117 ), где все выглядит так, как показано на font-weight: 400. Я что-то делаю неправильно или есть ошибка в Chrome? Существует ли какое-либо известное обходное решение?
Обновление
В Chrome есть что-то не так. У меня есть два экземпляра одной и той же страницы, открытых в двух разных окнах в Chrome. Один - это рендеринг шрифта ok (300 вес соответствует варианту света), а один нет (300 вес такой же, как и в варианте Normal). Любые подсказки? Я обязательно обновил страницу на каждой вкладке, чтобы они были на одной и той же странице.
Обновление 2:
Прикрепленный скриншот: из ошибки:
Обновление 3 Это не дубликат этого. В этом вопросе проблема заключается в том, что "Arial Black" и "Arial" на самом деле являются разными шрифтами. В моем случае Open Sans является единственным шрифтом, и проблема заключается в том, что Chrome несколько раз поднимает неправильный вес. Как видно из скриншотов, Chrome не соответствует шрифту, отображаемому даже между двумя экземплярами.
Добавьте это в свой CSS:
* {-webkit-font-smoothing: antialiased;}
Кажется, это ошибка Chrome/Chromium, вызванная тем, что шрифт установлен локально в вашей системе. Другие браузеры, похоже, не страдают от этой проблемы.
До сих пор это похоже на Linux и Windows (подтверждено).
По какой-то причине он просто загрузит ваш локальный шрифт и игнорирует любые ваши правила font-weight
, даже если они !important
. Он даже не будет соответствовать самому себе: вес шрифта может изменяться случайным образом между вкладками и перезагрузкой страницы.
Простейшим обходным решением является удаление шрифта, но это может быть проблемой, если вам это нужно для чего-то еще.
Вы также можете попробовать переименовать шрифт на что-то еще, чтобы заставить Chrome использовать свой веб-шрифт и соблюдать ваши правила шрифта CSS.
Попробуйте изменить семейство шрифтов на 'Open Sans Light', sans-serif;
. У меня была такая же проблема, и это сработало для меня.
i наложили их поверх друг друга, и они хорошо смотрятся на osx хром.
font-weight: 400 !important;
под
font-weight: 300 !important;
Мое решение - загрузить и установить все типы веса шрифта на вашем компьютере или вообще не устанавливать его. Это странное решение, но работает для меня.