19

我有角度和字体真棒的问题。在第一代图标列表中,所有基于 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> -->

有没有什么办法可以防止这种情况?强制以某种方式翻译?

这可能是有问题的。例如我不能使用实心图标:(

4

2 回答 2

26

如果您希望 Font Awesome 不自动将<i>看起来像图标的标签替换为相应<svg>的 s,您可以将配置更改为 disable autoReplaceSvg

如果您通过<script>标签加载,可能看起来像这样(确保在加载 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 }
于 2018-05-11T22:40:56.527 回答
20

我遇到了同样的问题,当我检查元素时,图标标签实际上被转换为 SVG。

问题是我通过 CSS 和 JS 调用都加载了 fontawesome。当我删除对 JS 库的调用并仅调用 CSS 文件时,图标呈现正确。

于 2018-10-16T09:59:47.307 回答