Шрифт Awesome показывает квадрат вместо значка при использовании непосредственно в CSS
Я пытаюсь изменить содержание span
С удивительным значком шрифта непосредственно со страницы CSS, но, похоже, не может заставить его работать должным образом.
1) я импортировал FA из документации и в <head>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.9/css/all.css" integrity="sha384-5SOiIsAziJl6AWe0HWRKTXlfcSHKmYV4RBF18PPJ173Kzn7jzMyFuTtk8JA7QQG1" crossorigin="anonymous">
2) Мой html выглядит так:
<span class='myClass'>Movies</span>
3) теперь скажем, что я хотел бы изменить содержимое span с помощью значка непосредственно со страницы CSS.
мой CSS в настоящее время выглядит так, но он не работает, он дает мне квадрат вместо иконы.
.myClass {
visibility: hidden;
}
.myClass::after {
font-family: 'Font Awesome 5 Free';
content: 'f008';
visibility: visible;
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.9/css/all.css">
<span class='myClass'>Movies</span>
забавно, что похоже, что он работает с некоторыми значками. Если я проверю с content: 'f007';
это работает. Есть идеи почему?
(и если вам интересно, почему я хочу изменить значок непосредственно в CSS, это потому, что я использую медиа-запросы, поэтому я не могу добавить его непосредственно на HTML-странице)
1 ответов
необходимо указать font-weight:900
(или любое значение больше, чем 600
, bold
или bolder
) для этого.
.myClass {
visibility: hidden;
}
.myClass::after {
font-family: 'Font Awesome 5 Free';
content: "\f008";
visibility: visible;
font-weight: 900;
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css">
<span class='myClass'>Movies</span>
на regular
версия значка, определенная по умолчанию font-weight
, является PRO, поэтому он покажет пустой квадрат. То, что вам нужно-это solid
версия:
https://fontawesome.com/icons/film?style=solid
почему другой значок работает?
потому что \f007
это иконка:https://fontawesome.com/icons/user?style=regular и, как вы можете видеть,regular
один не является PRO и входит в бесплатный пакет, поэтому вам не нужно указывать font-weight
. Вам нужно только указать его, когда вы хотите показать solid
версия.
.myClass::after {
font-family: 'Font Awesome 5 Free';
content: "\f007";
visibility: visible;
font-weight: 900;
}
.myClass-1::after {
font-family: 'Font Awesome 5 Free';
content: "\f007";
visibility: visible;
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css">
<span class='myClass'>Solid </span>
<br>
<span class='myClass-1'>Regular </span>
в качестве примечания, все light
версия PRO, поэтому нет font-weight
для них в бесплатный пакет.
вы можете проверить документацию для больше деталей : https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements