Лично я думаю, что лучший способ справиться с этим - это загрузить шрифты асинхронно. Однако это может привести к миганию шрифта, что означает, что шрифт сначала является шрифтом по умолчанию, а затем перерисовывается вновь загруженному шрифту. Чтобы исправить это, вы можете скрыть содержимое страницы, пока шрифт не будет загружен, и показать его с обратным вызовом. Вы можете взглянуть на webfontloader . Вы также должны иметь запасной вариант для тех редких случаев, когда у кого-то отключен JS.
JavaScript
var WebFont = require('webfontloader');
WebFont.load({
google: {
families: ['Roboto']
}
});
document.querySelector('html').classList.remove('no-js')
CSS
html {opacity: 0;}
html .wf-active, html.wf-inactive, html.no-js {opacity: 1;}
HTML
<html lang="en" class="no-js">