Ale*_*lex 8 icon-fonts font-awesome-5 angular7 angular-material-7
我使用的是Angle 7.0.1和Angle Material 7.0.2,我想添加字体真棒5.4.2图标,并且尝试按照fontawesome网站上的步骤操作,但是我无法获得字体真棒图标字体。
第一:
npm install --save-dev @fortawesome/fontawesome-free
Run Code Online (Sandbox Code Playgroud)
然后在styles.scss中添加:
@import '~@fortawesome/fontawesome-free/scss/fontawesome.scss';
Run Code Online (Sandbox Code Playgroud)
并在_variables.scss中添加:
$fa-font-path: '~@fortawesome/fontawesome-free/webfonts';
Run Code Online (Sandbox Code Playgroud)
现在在app.component.ts中添加:
import { MatIconRegistry } from "@angular/material";
[...]
constructor(
public matIconRegistry: MatIconRegistry,
) {
matIconRegistry.registerFontClassAlias ('fas'); // tried with 'fas' and with 'fa'
}
Run Code Online (Sandbox Code Playgroud)
最后我打算用以下命令打印字体很棒的图标:
<mat-icon mat-list-icon fontIcon="fas github"></mat-icon> // tryed also with 'fas-github', 'fasGithub', 'github', 'fa-github', 'fa github' and 'faGithub'
Run Code Online (Sandbox Code Playgroud)
但是从未打印过字体超赞的图标字体。我错过了一些重要而又显而易见的东西,但是现在我没有看到它。
Gab*_*995 19
这是我所做的,对我有用:
在我的styles.scss中
@import "~@fortawesome/fontawesome-free/css/all.css";
Run Code Online (Sandbox Code Playgroud)
那我有
<mat-icon fontSet="fa" fontIcon="fa-clipboard-check"></mat-icon>
Run Code Online (Sandbox Code Playgroud)
使用scss也不适合我。
小智 6
如果您使用 scss,您可以简单地将样式导入您的 vendor.scss:
$fa-fort-path: "~@fontawesome/fontawesome-free/webfonts";
@import "~@fortawesome/fontawesome-free/scss/fontawesome";
@import "~@fortawesome/fontawesome-free/scss/regular";
@import "~@fortawesome/fontawesome-free/scss/solid";
@import "~@fortawesome/fontawesome-free/scss/brands";
Run Code Online (Sandbox Code Playgroud)
并正常使用它:
<span class="fab fa-refresh fa-spin fa-github" aria-hidden="true"></spin>
Run Code Online (Sandbox Code Playgroud)
注意命名空间,fab代表品牌,fas代表solid 等。
那对我来说是最好的选择。
或者您可以使用angular-fontawesome库。
我按照以下简单步骤进行操作,它对我来说可以在Angular 7项目中安装很棒的5.6.3(免费版本)字体。
运行以下命令以安装font-awesome最新版本。
npm install --save-dev @fortawesome/fontawesome-free
Run Code Online (Sandbox Code Playgroud)
将文件路径添加到angular.json文件中。
"styles": ["node_modules/@fortawesome/fontawesome-free/css/all.css"],
"scripts": ["node_modules/@fortawesome/fontawesome-free/js/all.js"]
Run Code Online (Sandbox Code Playgroud)
供参考:https : //fontawesome.com/how-to-use/on-the-web/setup/using-package-managers
品尝一下..希望这会有所帮助..
我使用这两个解决方案:
导入主fontawesome.scss文件。
导入首选样式文件,例如regular.scss(在 angular.json 中或通过 @import)。
在模块中注册默认字体集,因此您不必为每个图标定义它:
constructor(private matIconRegistry: MatIconRegistry) {
matIconRegistry.setDefaultFontSetClass('far'); // or 'fas' for solid style etc.
}
Run Code Online (Sandbox Code Playgroud)
最后定义图标线:
<mat-icon fontIcon="fa-smile"></mat-icon>
Run Code Online (Sandbox Code Playgroud)
不需要导入所有图标,只需要在模块中单独定义每个图标即可。其他优点是您可以定义自己的图标名称以获得更好的清晰度,将图标与不同样式(纯色、双色调...)组合,而无需加载其他图标集,或者只需添加您自己的 svg 图标或徽标。
constructor(private matIconRegistry: MatIconRegistry,
private sanitizer: DomSanitizer) {
matIconRegistry.addSvgIcon('smile', sanitizer.bypassSecurityTrustResourceUrl('smile.svg'));
}
Run Code Online (Sandbox Code Playgroud)
图标:
<mat-icon svgIcon="smile"></mat-icon>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11056 次 |
| 最近记录: |