angular - 防止 fontawesome 的 svg 翻译

标签 angular svg font-awesome-5

我对 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> -->

有什么办法可以避免这种情况吗?以某种方式强制翻译?

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

最佳答案

如果您不希望 Font Awesome 自动替换 <i>看起来像带有相应 <svg> 图标的标签s,你可以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 }

关于angular - 防止 fontawesome 的 svg 翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49983637/

相关文章:

javascript - 如何循环 Angular FormArray - 当前设置为循环中的最后一项

CSS :before on inline SVG

javascript - 如何更改 Font Awesome 图标的方向?

jquery - 一些 Font Awesome 图标显示,一些不显示

javascript - 动画圆描边 SVG - 不是一个完整的圆

angular - 从浏览器控制台中删除错误消息(Angular HttpClient)

angular - 无法让 ngx-bootstrap radio 工作,没有值访问器

angular - 函数从 pouchDB 获取委托(delegate),插入一些调试数据并返回一个 promise

javascript - 为什么变换会移动整个坐标系而不是仅仅移动 SVG 中的元素?