Мне нравится использовать WebFontLoader для загрузки шрифтов. Это быстрое решение, которое хорошо сработало для меня. Я обычно использую его асинхронно, помещая что-то подобное в моей странице <head>
:WebFontLoader: Почему декларация шрифта для ванили не достаточна для резервных копий?
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js" async></script>
WebFontConfig = {
google: {
families: ['Droid Sans', 'Droid Serif']
}
};
Тогда в моем CSS, я буду делать что-то вроде этого:
h1 {
font-family: 'Droid Sans', Helvetica, Arial, sans-serif;
}
Я читала в последнее время о WebFontLoader, хотя, и большинство примеров, которые я вижу (вот один article об этом) вместо того, чтобы сделать что-то вроде этого, используя классы, WFL относится к <html>
элемент для обнаружения загружен ли шрифт и готов к использованию:
h1 {
font-family: Helvetica, Arial, sans-serif;
.wf-active & {
font-family: 'Droid Sans', Helvetica, Arial, sans-serif;
}
}
Мой вопрос: Почему недостаточно обычного стека шрифтов с системными резервными копиями? Не является ли пункт шрифта семейством, так что если первый не распознается, он автоматически возвращается к остальным?
Если браузеры видят, что первый шрифт в стеке не является системным, будет ли он по умолчанию скрывать этот элемент, несмотря на наличие резервных копий - или что-то в этом роде?
Это не то, что означает «шрифт-семья»; семейство шрифтов - это любая коллекция шрифтов, которая состоит из одного или нескольких выражений одного всеобъемлющего типа, поэтому, например, «Droid Sans» - это семейство, с отдельными шрифтами «Droid Sans Regular», «Droid Sans Bold», «Droid Sans UltraThin "и т. Д. Все это разные шрифты * (то есть отдельные файлы на диске), но все они являются частью одного семейства * шрифтов *. В CSS вы можете перечислить * несколько семейств шрифтов для свойства 'font-family' для браузера, чтобы« провалиться »(так же, как вы можете указать несколько значений для одного свойства' src' '@ font-face') –