Как правильно загрузить пользовательские шрифты на сайте

Я объявляю собственный шрифт внутри CSS-файла, использую @import и назначаю их элементам:

У меня нет доступа к тегу head сайта, я делаю это в теле...

это не работает.., Мой вопрос, должен ли пользовательский шрифт должен быть объявлен в заголовке страницы для загрузки?

2 ответа

Не используйте @import для файлов css, если это возможно (за исключением определенных обстоятельств, таких как использование @media для разных устройств), так как это может помешать правильной загрузке файлов CSS.

Вы можете объявить тег ссылки для импорта CSS вне тега head, но это может вызвать несколько проблем - в основном, в соответствии со спецификациями W3C, вы должны объявить только link теги в head тэг (т. е. он провалит валидатор W3C). Загрузка его в тело документа также увеличивает время загрузки, так как браузеру приходится перестраивать страницу после загрузки.

Но в теории да, это можно сделать.

Используя jvascript

(function loadCss(url) {
    var link = document.createElement("link"),
        url = "App/components/core-jasmine/jasmine.css";
    link.type = "text/css";
    link.rel = "stylesheet";
    link.href = url;
    document.getElementsByTagName("head")[0].appendChild(link);
})();
Другие вопросы по тегам