Я разрабатываю веб-страницу и нашел FontAwesome как довольно аккуратный способ добавить приятные значки к вещам, однако по умолчанию загрузка шрифтов заблокирован плагин NoScript для Firefox.
Это не будет проблемой для обычных шрифтов, но FontAwesome использует символы Unicode, которые преднамеренно выходят за пределы обычного диапазона печати большинства шрифтов, поэтому добавление стека шрифтов в CSS (EG: font-family: FontAwesome, sans-serif;
) не будет работать так, как все значки просто отображают как шестнадцатеричные квадраты.
Я понимаю, что могу настроить NoScript, чтобы разрешить загрузку шрифтов, но это не идеальное решение для всех пользователей - я бы предпочел, чтобы страница ухудшилась.
Конечно, было бы легко сделать это с помощью Javascript/jQuery, но, конечно, если он NoScript, который делает блокировку, которая тоже не помогает, и она не проходит тест, если пользователь не делает этого, t включить javascript.
Идеально было бы иметь некоторый стиль/правило CSS, который действует как резерв для любых объектов FontAwesome, заменяя их каким-то базовым символом или даже не отображая ничего.
Для тех, кто не знаком с FontAwesome/TL; DR:
Все значки FontAwesome имеют класс CSS "fa":
.fa {
display: inline-block;
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
line-height: 1;
}
FontAwesome загружает пользовательский шрифт, подобный этому (я удалил
@font-face {
font-family: "FontAwesome";
font-style: normal;
font-weight: normal;
src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff?v=4.0.3") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.0.3") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular") format("svg");
}
И тогда конкретный значок FontAwesome будет иметь свой собственный специфический класс, который вставляет соответствующий символ юникода, например:
.fa-star:before {
content: "";
}
HTML для значка будет выглядеть так:
<i class="fa fa-star"></i>
Итак, проблема здесь: Нам нужно каким-то образом, желательно в CSS, заменить, удалить или скрыть содержимое элементов с помощью класса CSS "fa", если шрифт "FontAwesome" НЕ загружен.