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