Запретить svg-перевод fontawesome

У меня проблема с angular и font awesome. В первом поколении списка значков внезапно все значки на основе классов css переводятся в svg. Влияет только на сплошные значки. Например :

<i class = "fas fa-2x fa-minus-square"></i>

переводится как-то на

<svg _ngcontent-c16 = "" class = "svg-inline--fa fa-minus-square fa-w-14 fa-2x"
 ng-reflect-ng-class = "fas fa-2x fa-minus-square" aria-hidden = "true" data-prefix = "fas" data-icon = "minus-square"
 role = "img" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 448 512" data-fa-i2svg = "">
    <path fill = "currentColor"
      d = "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z">
    </path>
</svg>
<!-- <i _ngcontent-c16 = "" class = "fas fa-2x fa-minus-square" ng-reflect-ng-class = "fas fa-2x fa-minus-square"></i> -->

Есть ли способ предотвратить эту ситуацию? Заставить как-нибудь перевод?

Это может быть проблематично. Например, я не могу использовать сплошные значки :(

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
17
0
9 239
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Если вы хотите, чтобы Font Awesome не заменял автоматически теги <i>, которые выглядят как значки, соответствующими <svg>, вы можете изменить конфигурацию отключить autoReplaceSvg.

Если вы загружаете через тег <script>, это может выглядеть так (обязательно выполните конфигурацию перед loading Font Awesome):

  <head>
    <script type = "text/javascript">
      // Notice how this gets configured before we load Font Awesome
      window.FontAwesomeConfig = { autoReplaceSvg: false }
    </script>
    <script src = "fontawesome.js"></script>
    <script src = "fa-solid.js"></script>
  </head>

Или, если вы создаете свой собственный пакет и можете получить доступ к конфигурации из собственного скрипта, вы можете сделать это:

import fontawesome from '@fortawesome/fontawesome'

fontawesome.config = { autoReplaceSvg: false }

У меня была та же проблема, тег значка был фактически переведен в SVG, когда я проверял элемент.

Проблема заключалась в том, что я загружал потрясающий шрифт как через вызовы CSS, так и через JS. Когда я удалил вызов JS lib и вызвал только файл CSS, значки отрисовывались правильно.

Мне то же. Удаление импорта файла JS устранило эту проблему, а также другую проблему, когда переключение между сплошными и обычными значками в приложении Vue.js не работало.

maesk 01.11.2019 11:16

Спасибо вам, ребята. Мне это тоже помогло.

Irina Potapova 18.02.2021 19:54

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