0

0

浅谈Angular中如何添加和使用Font Awesome

青灯夜游

青灯夜游

发布时间:2021-07-19 10:46:02

|

2837人浏览过

|

来源于LogRocket Blog

转载

本篇文章给大家介绍一下什么是font awesome,以及angular项目中添加font awesome,使用font awesome图标库的方法,希望对大家有所助。

浅谈Angular中如何添加和使用Font Awesome

在这篇文章中,我们将研究如何在Angular应用程序中使用Font Awesome,以及如何使用Font Awesome的图标动画和样式设计。【相关教程推荐:《angular教程》】

在我们进一步讨论之前,让我们先谈谈Font Awesome是什么。

Font Awesome

Font Awesome是一个图标工具包,有1500多个免费图标,使用起来非常方便。这些图标是使用可扩展的矢量创建的,并且在应用到它们时继承了CSS的尺寸和颜色。这使得它们成为高质量的图标,在任何屏幕尺寸上都能很好地工作。

在Angular 5发布之前,开发者必须安装Font Awesome包,并在Angular项目中引用其CSS才能使用。

但是Angular 5的发布,通过为Font Awesome创建Angular组件,使得在我们的项目中实现Font Awesome变得容易了。有了这个功能,Font Awesome可以干净利落地集成到我们的项目中。

由于Font Awesome图标的可伸缩性,它能很好地与文本内联融合。在这篇文章中,我们将进一步探讨如何为Font Awesome图标使用动画、着色和尺寸。

创建一个演示的Angular应用程序

让我们为本教程创建一个演示的Angular应用程序。打开你的终端,CD到项目目录,并运行下面的命令。

在你运行该命令之前,确保你的系统已经安装了Node.js,同时也安装了Angular CLI

ng new angular-fontawesome复制代码

安装Font Awesome依赖项

对于那些已有项目的人,我们可以从这里开始跟进。上面的命令完成后,CD到项目目录,安装下面的Font Awesome图标命令。

npm install @fortawesome/angular-fontawesome
npm install @fortawesome/fontawesome-svg-core
npm install @fortawesome/free-brands-svg-icons
npm install @fortawesome/free-regular-svg-icons
npm install @fortawesome/free-solid-svg-icons

# or

yarn add @fortawesome/angular-fontawesome
yarn add @fortawesome/fontawesome-svg-core
yarn add @fortawesome/free-brands-svg-icons
yarn add @fortawesome/free-regular-svg-icons
yarn add @fortawesome/free-solid-svg-icons

在Angular应用程序中使用Font Awesome图标

在Angular项目中使用Font Awesome有两个步骤。我们来看看这两点。

  1. 如何在组件层面上使用Font Awesome图标
  2. 如何使用Font Awesome图标库

如何在组件层面上使用Font Awesome图标

这一步与在组件级使用Font Awesome图标有关,这不是一个好的方法,因为它涉及到我们将图标导入到每个需要图标的组件中,而且还要多次导入相同的图标。

我们还是要看看如何在一个组件中使用图标,以备我们在构建一个应用程序时需要我们在一个组件中使用图标。

安装完Font Awesome后,打开app.module.ts ,导入FontAwesomeModule ,就像下面这样。

import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'
imports: [
    BrowserModule,
    AppRoutingModule,
    FontAwesomeModule
  ],

之后,打开app.component.ts ,导入你想使用的图标名称。比方说,我们想利用faCoffee

import { faCoffee } from '@fortawesome/free-solid-svg-icons';复制代码

接下来,我们创建一个名为faCoffee 的变量,并将我们导入的图标分配给该变量,这样就可以在app.component.html 中使用它。如果我们不这样做,我们就不能使用它。

faCoffee = faCoffee;

现在,在app.component.html ,写下下面的代码。

运行该命令,为我们的应用程序提供服务,并检查我们的图标是否显示。

ng serve

如果我们看一下我们的网页,我们会看到faCoffee 显示在屏幕上。这表明图标已经安装并成功导入。

如何使用Font Awesome图标库

这是我们在应用程序中使用Font Awesome的最佳方法,特别是当我们想在所有组件中使用它,而不需要重新导入图标或多次导入一个图标时。让我们来看看我们如何实现这个目标。

打开app.module.ts ,写下下面的代码。

import { FaIconLibrary } from '@fortawesome/angular-fontawesome';
import { faStar as farStar } from '@fortawesome/free-regular-svg-icons';
import { faStar as fasStar } from '@fortawesome/free-solid-svg-icons';

export class AppModule { 
  constructor(library: FaIconLibrary) {
    library.addIcons(fasStar, farStar);
  }
}

之后,我们可以直接在app.component.html 里面使用它,而不需要在使用它之前声明一个变量并把它传给那个变量。

白瓜AI
白瓜AI

白瓜AI,一个免费图文AI创作工具,支持 AI 仿写,图文生成,敏感词检测,图片去水印等等。

下载

如果我们现在加载网页,我们将看到星星图标被显示出来。

Font Awesome中的图标样式

Font Awesome有四种不同的风格,我们来看看免费的图标--除去Pro light图标,它使用前缀'fal' ,并有专业许可证。

  • 实体图标使用前缀'fas' ,并从以下网站导入:@fortawesome/free-regular-svg-icons
  • 普通图标使用前缀'far' ,并从以下网站导入@fortawesome/free-solid-svg-icons
  • 品牌图标使用前缀'fab' ,并从以下网站导入。@fortawesome/free-brands-svg-icons

接下来,让我们看看我们还能用Font Awesome图标做什么。

不用写CSS样式就能改变图标的颜色和大小

让我们来看看我们如何在Angular中不写CSS样式就能改变Font Awesome图标的颜色。

这种方法有助于我们在组件层面上使用图标。然而,当在所有的组件中使用这种方法时,它是没有帮助的,因为它将改变我们项目中所有组件的图标颜色。对于多个组件,我们可以只用一个CSS类或样式属性来改变它一次。

但是,当我们在一个组件层面上工作时,我们可以使用它,因为我们将只在该组件中使用该图标,而不是为它创建一个CSS属性并在CSS文件中设置样式。因此,让我们看看我们如何在Angular项目中做到这一点。默认情况下,下面的图标是black ,我们想把它改成red

// from black


// to red

当使用内联造型改变图标颜色和笔画时,我们必须利用fa-icon 属性。

接下来,我们要在Angular中使用内联样式将图标的大小从小到大。要做到这一点,我们必须使用size 属性的fa-icon

    

    

    

    

    

默认情况下,Font Awesome图标会继承父容器的大小。它允许它们与我们可能使用的任何文本相匹配,但如果我们不喜欢默认的尺寸,我们必须给它们我们想要的尺寸。

我们使用xs,sm,lg,5x, 和10x 等类。这些类将图标的大小增加和减少到我们想要的程度。

动画化Font Awesome图标

让我们也来看看我们如何在不使用Angular中的CSS或动画库的情况下对Font Awesome图标进行动画。

作为一个开发者,当用户点击一个提交按钮或页面正在加载时,我们可能想显示一个加载器或旋转器的效果,告诉用户有东西正在加载。

我们可以使用Font Awesome图标来达到这个目的。我们不需要导入一个外部的CSS动画库,而只需要在图标标签上添加Font Awesomespin 属性。

这样做可以避免我们下载一个完整的CSS动画库,而最终使用一个旋转的效果或使用关键帧编写一个长的CSS动画。

因此,让我们来看看我们如何通过使用React图标来实现这一点。

我们刚刚导入了React图标,现在我们要对它进行动画处理。在React图标组件上,添加Font Awesomespin loader属性。

当我们加载网页时,我们会看到React图标在无限地旋转。这是因为我们把spin 属性设置为true

总结

在这篇文章中,我们能够看到如何在Angular项目中使用Font Awesome图标,如何添加图标库中的一些基本样式,以及如何对图标进行动画处理。

我们还可以用Font Awesome图标做更多的事情,比如固定宽度图标旋转图标Power Transforms和组合两个图标。Font Awesome的教程可以教你更多关于如何在你的项目中使用这些工具。

如果你觉得这篇文章有帮助,请与你的朋友分享。

英文原文地址:https://blog.logrocket.com/how-to-add-font-awesome-angular-project/

更多编程相关知识,请访问:编程视频!!

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

347

2023.09.19

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

93

2025.11.26

css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

524

2023.06.15

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

263

2023.07.27

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

754

2023.07.28

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

539

2023.08.01

css字体颜色
css字体颜色

CSS中,字体颜色可以通过属性color来设置,用于控制文本的前景色,字体颜色在网页设计中起到很重要的作用,具有以下表现作用:1、提升可读性;2、强调重点信息;3、营造氛围和美感;4、用于呈现品牌标识或与品牌形象相符的风格。

760

2023.08.10

什么是css
什么是css

CSS是层叠样式表(Cascading Style Sheets)的缩写,是一种用于描述网页(或其他基于 XML 的文档)样式与布局的标记语言,CSS的作用和意义如下:1、分离样式和内容;2、页面加载速度优化;3、实现响应式设计;4、确保整个网站的风格和样式保持统一。

605

2023.08.10

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

27

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue.js:纪录片
Vue.js:纪录片

共1课时 | 0.2万人学习

Angular js入门篇
Angular js入门篇

共17课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号