Иконки FontAwesome Pro и хлебные крошки Bootstrap 4

Об этом уже много раз спрашивали, но я ничего не вижу в качестве ответа, например Bootstrap изменяет иерархию с помощью разделителя значков fontawesome с помощью SASS

Я использую Font Awesome 5 Pro (из собственного CDN, kit.fontawesome.com) и Bootstrap 4.0.0

Я хочу изменить разделитель хлебных крошек Bootstrap 4 по умолчанию на значок FontAwesome.

У меня такая разметка:

<nav aria-label="breadcrumb">
    <ol class="breadcrumb">
        <li class="breadcrumb-item"><a href="#">Home</a></li>
        <li class="breadcrumb-item active" aria-current="page">Library</li>
    </ol>
</nav>

Если я применю какой-либо из приведенных ответов, он будет отображаться некорректно. Получаю "квадрат".

Я использую юникод f061, который должен быть "стрелкой вправо", показанной здесь: https://fontawesome.com/icons/arrow-right

Примеры -

.breadcrumb-item + .breadcrumb-item::before {
    font-family: 'Font Awesome 5 Pro';
    content: "\f061";
}

введите здесь описание изображения

.breadcrumb-item + .breadcrumb-item::before {
    font-family: "Font Awesome 5 Pro";
    content: "\f061";
    font-weight: 900;
}

введите здесь описание изображения

Изменить - он отлично работает для рендеринга значков внутри документа, например. <i class="fas fa-arrow-right"></i> будет работать. Только когда я пытаюсь сослаться на него в CSS, значок не отображается. Ошибок 404 или проблем с загрузкой ресурсов нет.

Почему это не работает?


person Andy    schedule 26.09.2019    source источник
comment
Вы определили семейство шрифтов Font Awesome 5 Pro в своем файле CSS и действительны ли src?   -  person Lee    schedule 26.09.2019
comment
Что вы имеете в виду под определением? Взгляните на некоторые другие вещи, размещенные здесь ... Это работает для рендеринга значков внутри документа. Но когда я пытаюсь сослаться на это в CSS, это не так. Все ответы, которые я видел, говорят, что font-family имя - это Font Awesome 5 Pro, что имеет смысл, поскольку это версия, которую мы используем (в отличие от бесплатной и т. Д.).   -  person Andy    schedule 26.09.2019
comment
Фактически, это будет определено в файле FA CSS, на который вы фактически ссылаетесь, поэтому игнорируйте этот комментарий. Если вы его осмотрите, все ли там выглядит корректно?   -  person Lee    schedule 26.09.2019
comment
Мы связываемся с файлом .js. Он предоставляется через панель управления FontAwesome.   -  person Andy    schedule 26.09.2019


Ответы (5)


у вас есть более жирная стрелка вправо, поэтому вам нужно добавить font-weight:900.

следуйте фрагменту кода моего ответа, он отлично работает.

.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  content: "\f061";
}
<!DOCTYPE html>
<html lang="pt-br">
<head>
  <title>Teste</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://kit.fontawesome.com/a35ed2bddb.js" crossorigin="anonymous"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
  <nav aria-label="breadcrumb">
    <ol class="breadcrumb">
      <li class="breadcrumb-item"><a href="#">Home</a></li>
      <li class="breadcrumb-item active" aria-current="page">Library</li>
    </ol>
  </nav>
</body>
</html>

person KuldipKoradia    schedule 01.10.2019
comment
Сколько людей не читают описание награды? В нем говорится, что мы НЕ используем версию .css (а версию .js), и мы используем версию Pro, а не бесплатную версию. Я уверен, что это сработает, если вы воспользуетесь совершенно другими вещами, нежели то, о чем задается вопрос ... - person Andy; 01.10.2019
comment
в соответствии с вашим комментарием я внес изменения в свой ответ, вам нужно добавить шрифт к своему значку css. пожалуйста, просмотрите мой обновленный ответ. Спасибо... - person KuldipKoradia; 02.10.2019
comment
На самом деле это не сработало для меня. Но это помогло мне сузить проблему. Если я заменю файл .js на тот, который вы связали с ним, он будет работать. Однако, когда я ссылаюсь на тот, который у меня был, это не так. Это очень раздражает, потому что это URL-адрес, который FontAwesome предоставил в своей панели управления для файла на их собственном CDN! Я наградил вас наградой, но кроме обращения в FA, чтобы спросить, я все еще не уверен, почему предоставленный ими файл не работает. - person Andy; 02.10.2019

Возможно, вам не хватает файла css для сплошного шрифта. Вот определение в моем проекте.

@import '../node_modules/@fortawesome/fontawesome-pro/scss/fontawesome.scss';
@import '../node_modules/@fortawesome/fontawesome-pro/scss/solid.scss';
@import '../node_modules/@fortawesome/fontawesome-pro/scss/light.scss';
@import '../node_modules/@fortawesome/fontawesome-pro/scss/regular.scss';
person Phat Tran Ky    schedule 26.09.2019
comment
Это версия, размещенная на их CDN. Они предоставляют только ссылку на .js файл, который включен в <head>. Других файлов для импорта / включения нет. Это так, как описано на их собственном веб-сайте, так что, конечно же, это должно сработать? - person Andy; 26.09.2019
comment
Нормальное орудие работает? `` ‹I class = fas fa-arrow-right› ‹/i› `` - person Phat Tran Ky; 26.09.2019
comment
Да, он отлично работает для рендеринга значков внутри документа. Просто когда я пытаюсь сослаться на него в CSS, он не показывает правильный значок. Нет ошибок 404 или проблем с загрузкой ресурсов - person Andy; 26.09.2019

Можете ли вы проверить Rendered Font в вычисленном, чтобы убедиться, что ваш CSS не переопределяется другими

введите здесь описание изображения

person Phat Tran Ky    schedule 26.09.2019
comment
FontAwesome не отображается. И как ни странно, если я использую реальный класс, такой как <i class="fas fa-arrow-right"></i> в HTML, in правильно отображает значок ... но не показывает этот шрифт в разделе «Визуализированные шрифты». Я вообще этого не понимаю! - person Andy; 26.09.2019

Вы пробовали использовать! Important?

.breadcrumb-item + .breadcrumb-item:before {
    font-family: "Font Awesome 5 Pro" !important;
    content: "\f061" !important;
    font-weight: 900;
}
person Every Screamer    schedule 30.09.2019
comment
У вас есть ссылка на ваш проект, чтобы мы могли непосредственно разобраться в проблеме? - person Every Screamer; 30.09.2019
comment
К сожалению нет. Он находится в частном домене, и я не могу играть на скрипке, потому что .js, на которые мы ссылаемся из CDN FontAwesome, должен быть привязан к домену, из которого запущен сайт. - person Andy; 30.09.2019
comment
Ха, это может быть на самом деле проблемой ... что это частный домен ... удалите этот CDN, загрузите пакет fontawesome pro и используйте его локально на своем сервере ... в любом случае это намного лучше для производительности, и проблема должна исчезнуть ... - person Every Screamer; 30.09.2019
comment
Пожалуйста, прочтите примечания к награде, и вы поймете, почему это не тот ответ, который мы здесь ищем. - person Andy; 30.09.2019

Для этого значка у вас должна быть возможность использовать семейство «Font Awesome \ 5 Free». Обратите внимание, что \ и font-weight также необходимы ...

.breadcrumb-item + .breadcrumb-item:before {
    font-family: 'Font Awesome\ 5 Free';
    content: "\f061";
    font-weight: 900;
}

https://www.codeply.com/go/aIGotMzZt4

person Zim    schedule 30.09.2019
comment
Мы используем Font Awesome 5 Pro. Насколько я могу судить, семейство шрифтов Free в этой ситуации не работает. Я попытался обновить font-family в соответствии с моим вопросом, но он все еще отображает квадрат. Знак `` интересен, поскольку я не знал, что это требуется. Это могло быть правильным, но у меня не сработало. - person Andy; 30.09.2019
comment
Вы пробовали: font-family: 'Font Awesome\ 5 Pro';? - person Zim; 30.09.2019
comment
Ага. Он по-прежнему отображает квадраты. - person Andy; 01.10.2019
comment
Вы пробовали их поддержку? fontawesome.com/support Трудно сказать без возможности воспроизведения и, скорее всего, что-то со ссылкой на шрифты Pro и WOFF филе. Также ссылка на бесплатный набор на CDN (который, кажется, работает нормально) будет еще одним хорошим способом устранения неполадок, если это набор Pro или что-то еще. - person Zim; 01.10.2019