防止fvtawesome

时间:2018-04-23 14:30:57

标签: angular svg font-awesome-5

我遇到角度和字体很棒的问题。在第一代图标列表突然所有基于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> -->

有没有可以防止这种情况的选择?以某种方式强制翻译?

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

2 个答案:

答案 0 :(得分:5)

如果您希望Font Awesome不会自动替换带有相应<i>的图标的<svg>代码,则可以change the configuration禁用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 }

答案 1 :(得分:3)

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

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