Как бороться с бликами при загрузке стороннего шрифта?

Гружу с google fonts, и получается так, что обычное начертание загружается нормально, а вот с жирным начертанием проблема. Появляется блик. Особенно заметно при медленном соединении.
Это всё касается только первого экрана и нужно сделать это в одном месте.
Есть мысли подменять семейство шрифтов на какое-то из безопасных, а после менять на нужное. Может быть задавать элементу жирное начертание с задержкой или после того, как нужная гарнитура загружена, но не знаю как это проверить.
Есть какие-то мысли по-этому поводу?
  • Вопрос задан
  • 2298 просмотров
Решения вопроса 2
Довольно простой способ для оптимизированных шрифтов - использование base64 кодирования woff шрифта:

@font-face {
font-family: 'MyFontFamily';
src: url('myfont-webfont.eot?') format('embedded-opentype');
}

@font-face {
font-family: 'MyFontFamily';
src: url('myfont-webfont.ttf') format('truetype'),
url(data:font/woff;charset=utf-8;base64,ЗДЕСЬ_ДАННЫЕ_В_BASE64) format('woff'),
url('myfont-webfont.svg#svgFontName') format('svg');
}

woff на сегодняшний день поддерживается всеми браузерами, IE начиная с 9, Опера с 11
Ответ написан
@Mischuk Автор вопроса
Решение оказалось довольно простым.
body {
  font-family: 'MyWebFont', Fallback, sans-serif;
}

Перед тем, как загружается основной шрифт, то элемент прорисовывается в фоллбэчном варианте и всё, что нужно сделать это подобрать наиболее подходящую гарнитуру к основной гарнитуре.
У меня по-умолчанию была указана жирнейшая Verdana и из-за этого были проблемы со скачками и сломанной сеткой. Сменил на Arial и проблемы нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Light777
@Light777
Developer
Попробуйте скачать и добавить в папку с проектом, а дальше font -face
Ответ написан
Комментировать
Kaaboeld
@Kaaboeld
Web-разработчик
Как я понимаю под "бликом" вы подразумеваете подгрузку шрифта и подмену стандартного на тот что загружен с google fonts что может вызвать некий довольно заметный скачек и в ряде случаев влиять при отоносительных размерах на сетеку.

Есть довольно простое решение:
1. выберите как способ подключения шрифотов javascript там будет представлен пример кода WebFont Loader.
2. прописываем правило для body{opacity:0;} - установка нулевой прозрачности для body(всей страницы) по умолчанию.
3. WebFont Loader генеририрует ряд событий и состояний. Состояния помимо прочего присваевают соответстввующие классы к тегу html начинающиеся с префикса wf-*. В нашем случае нас интересует - wf-active, состояние когда все шрифты загружены.
3.1. Добавлеяем css правило html.wf-active body{opacity:1;} - возрвращаем прозрачность к номинальной, можно добавить еще анимации перехода оной, но это по вкусу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы