Font Awesome в псевдоэлементах CSS не отображается

У меня есть потрясающая бесплатная версия css, связанная в моем индексе html / php, поэтому, если я вызываю какие-либо значки FA на этой странице напрямую, они работают нормально.

Однако я пытаюсь применить некоторые из них к псевдоэлементам в моем CSS, и я не могу заставить его работать. Он показывает только пустой квадрат / коробку.

Я просмотрел документы и попробовал это с одинарными и двойными кавычками, но неважно, что это по-прежнему пустой квадрат.

Кому-нибудь понятно, что я здесь делаю не так?

a[aria-expanded = "false"]::before, a[aria-expanded = "true"]::before {
font-family: "Font Awesome 5 Solid";
content: "\f106";
font-weight: 400;
display: block;
position: absolute;
right: 20px;
font-size: 0.6em;
}

a[aria-expanded = "true"]::before {
font-family: "Font Awesome 5 Solid";
content: "\f106";
}

ОЧЕНЬ минимальный код, большая часть CSS и JS удалена https://codepen.io/anon/pen/yEeZWX

Можете ли вы изолировать проблему в кодовом коде или подобном окружении?

Cameron Hurd 04.06.2018 15:31

есть ли у вас шрифт, бренд или бесплатный шрифт, не уверен, что твердый доступен ... font-family: "Font Awesome 5 Brands","Font Awesome 5 Free";

G-Cyrillus 04.06.2018 15:34

@CameronHurd не подумал об этом, просто добавил очень урезанную версию одного

Geoff_S 04.06.2018 15:36

@ G-Cyr Да, в настоящее время все они используются в CSS, но по-прежнему ничего

Geoff_S 04.06.2018 15:36

ладно, может это связано с размером шрифта;) codepen.io/anon/pen/zarbYj

G-Cyrillus 04.06.2018 15:40
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
5
4 405
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Используйте "Бесплатно" в font-family: "Font Awesome 5 Free";

Я также использую display: inline-block;, чтобы установить их рядом Hre работает JSFiddle с вашим кодом: https://jsfiddle.net/8vge3rkv/

a[aria-expanded = "false"]::before, a[aria-expanded = "true"]::before {
font-family: "Font Awesome 5 Free";
content: "\f106";
font-weight: 900;
display: inline-block;
}

a[aria-expanded = "true"]::before {
font-family: "Font Awesome 5 Solid";
content: "\f106";
}
<link rel = "stylesheet" href = "https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity = "sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin = "anonymous">


<a href = "#" aria-expanded = "false">try me</a>
Ответ принят как подходящий

Семейство Font должно указывать Free.
. Также обратите внимание, что для твердых значков вам придется использовать font-weight:900.

a[data-toggle = "collapse"] {
  position: relative;
}

a[aria-expanded = "false"]::before,
a[aria-expanded = "true"]::before {
  font-family: "Font Awesome 5 Free";
  content: "\f106";
  font-weight: 900;
  display: block;
  position: absolute;
  right: 20px;
  font-size: 0.6em;
}

a[aria-expanded = "true"]::before {
  font-family: "Font Awesome 5 Solid";
  content: "\f106";
}
<link href = "https://use.fontawesome.com/releases/v5.0.13/css/all.css" rel = "stylesheet" />
<div class = "wrapper">
  <nav id = "sidebar">
    <li class = "active">
      <a href = "#pageSubmenu" data-toggle = "collapse" aria-expanded = "false">
        <i class = "far fa-file-alt"></i> Pages
      </a>
    </li>
  </nav>
</div>

Спасибо, я принимаю это, потому что это объясняет проблему, однако мне также пришлось установить для псевдоэлементов значение true с помощью JS.

Geoff_S 04.06.2018 15:50

Это работает только в том случае, если вы загружаетесь с помощью метода веб-шрифтов и CSS (тег link), в отличие от инфраструктуры SVG и JS (тег script).

Todd 24.08.2018 05:44

@Todd Да, потому что только метод веб-шрифтов и CSS использует FONT. SVG и JS визуализируются с использованием файлов SVG, а не FONT.

Jones Joseph 24.08.2018 17:34

решил мою проблему.

akshay_sushir 21.03.2020 10:09

Другие вопросы по теме