Почему @font-face должен быть объявлен в глобальной области, за пределами shadow DOM?

#html #css #font-face #shadow-dom

Вопрос:

По опыту я знаю, что это @font-face должно быть объявлено в глобальном масштабе, за пределами shadow DOM, однако я не могу найти никаких спецификаций по этому поводу. Может ли кто-нибудь предоставить объяснение с правдоподобным источником или документацией/спецификациями?

Я понимаю, что есть много подобных вопросов и ответов, но AFAIK ни один из них на самом деле не содержит никаких официальных ссылок.

Комментарии:

1. Это ответ на ваш вопрос? css-tricks.com/regarding-css-global-scope

2. @font-face может быть объявлено в правиле условной группы , например @media и @supports , а не только в глобальной области. Я не слышал об ограничении от теневого ДОМА.

3. @ErfanBahramali Это не дало мне ответа, который я искал, но я ценю вашу помощь.

4. @HereticMonkey Я здесь говорю не об уровне области действия на уровне правил, а, скорее, о области действия на уровне глобальной тени DOM. Если вы попытаетесь загрузить шрифты, используя @font-face внутреннюю часть теневого DOM, он просто не загрузится, независимо от того, делаете ли вы это внутри @media или @supports (по крайней мере, в последней версии Chrome). И то, что мы не согласны с существованием этой проблемы, является самой причиной, по которой я задал этот вопрос. Где в спецификации это указано? Не удалось найти никакой документации по w3.org, mozilla и т.д. Надеюсь, вы вернетесь с доказательствами, и я буду вам очень признателен 😉

5. Спросите у источника: github.com/WICG/webcomponents/issues? q=равно:issue начертание шрифта

Ответ №1:

По состоянию на май 2021 года он все еще остается открытым проектом. Всю дискуссию можно найти здесь: https://github.com/w3c/csswg-drafts/issues/1995