溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么以Angular的姿勢打開Font-Awesome

發(fā)布時間:2021-02-18 11:04:27 來源:億速云 閱讀:163 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)怎么以Angular的姿勢打開Font-Awesome的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

環(huán)境

  • Angular: v5.2.9

  • Font-Awesome: v5.0.10

  • angular-fontawesome: v0.1.0-9

無須再用傳統(tǒng)的 Web Font 方式

  以前習慣于 Font-Awesome 的傳統(tǒng)方式:頁面底部引用一個 font-awesome.min.css 文件,然后在頁面中使用 <i class="fa xxx"></i> 放置圖標——這在 Angular 里依然可行,不過這并不 Angularish ——我們其實可以用 Angular 模塊組件那種方式去實現(xiàn)。寫此文時,官網(wǎng)還沒有正式上線 Package for Angular, 不過在官方 GitHub 上已經(jīng)有相關(guān)文檔教程了,本文以下內(nèi)容基本遵循該官方文檔。

安裝 Package

  npm 方式:

$ npm install @fortawesome/fontawesome-svg-core --save
$ npm install @fortawesome/free-solid-svg-icons --save
$ npm install @fortawesome/angular-fontawesome --save

其中「free-solid-svg-icons」是經(jīng)典樣式,其他還有「regular」和「light」可選:

$ npm install @fortawesome/free-brands-svg-icons --save
$ npm install @fortawesome/free-regular-svg-icons --save

在 app.module.ts 中導入基本模塊

// ...
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';

@NgModule({
 // ...
 imports: [
 // ...
 FontAwesomeModule
 ],
 // ...
})
// ...

  導入后便無須在其他組件中重復導入了。這是以下使用圖標方式的基礎(chǔ)。

按需使用方式一

  在 component 里導入你所需要的圖標:

// ...
import { faCoffee } from '@fortawesome/free-solid-svg-icons';

//...
export class AppComponent {
 //...
 myIcon = faCoffee;
}

注意:這里導入的圖標名字要加 fa 前綴,并使用 camelCase 命名法。導入后,你便可以在 html 模板中用以下方式使用圖標:

<fa-icon [icon]="myIcon"></fa-icon>

注意在 html 模板中要直接使用圖標名。圖標可在官網(wǎng)圖標庫查詢。

按需使用方式二

  第二種按需使用的方式是使用 library, 使用 library 后你就不用再在 component 中導入圖標了,一切都在 app.module.ts 中完成:

import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { library } from '@fortawesome/fontawesome-svg-core';

有了 library 后,接著再添加你需要用的圖標:

import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { library } from '@fortawesome/fontawesome-svg-core';
import { faCoffee } from '@fortawesome/free-solid-svg-icons';

然后把圖標加入到 library 里:

// import ...
library.add(faCoffee);
// NgModule({...

這樣你就可以在 html 模板中直接使用了。

全套導入

  對于一般規(guī)模的網(wǎng)站,我還是推薦將圖標全部導入,想用什么就用什么,比查找名字一個一個導入方便。全套導入的方式就是用圖標包的別稱代替圖標名:

// Single:
import { faCoffee } from '@fortawesome/free-solid-svg-icons';
// All:
import { fas } from '@fortawesome/free-solid-svg-icons';

其中「fas」的「s」代表的是「free-solid-svg-icons」的「solid」。以此類推,其他樣式的導入是:

import { far } from '@fortawesome/free-regular-svg-icons';
import { fab } from '@fortawesome/free-brands-svg-icons';

然后在 library 中添加即可:

library.add(fas);
// or
library.add(fas, far);

添加之后,你就可以在 html 中任意使用圖標了。

在 html 模板中的寫法

  之前的方式:

<fa-icon [icon]="coffee"></fa-icon>
// or
<fa-icon icon="coffee"></fa-icon>

其實是一種簡便寫法。它默認使用了 fas 樣式的圖標,如果要 far 或 fab,你需要這樣寫:

<fa-icon [icon]="['fas', 'coffee']"></fa-icon>

將樣式包別稱作為前綴填入數(shù)組第一個元素。我推薦這種精確的寫法。

圖標基本特效

  Font-Awesome 還有很多很棒的圖標特效——可以通過 html 的標簽屬性實現(xiàn)。這里直接復制文檔中一些基礎(chǔ)的用法:

旋轉(zhuǎn)與脈搏式轉(zhuǎn)動:

<fa-icon [icon]="['fas', 'spinner']" [spin]="true"></fa-icon>
<fa-icon [icon]="['fas', 'spinner']" [pulse]="true"></fa-icon>

固定寬度:

<fa-icon [icon]="['fas', 'coffee']" [fixedWidth]="true"></fa-icon>

邊框:

<fa-icon [icon]="['fas', 'coffee']" [border]="true"></fa-icon>

翻轉(zhuǎn):

<fa-icon [icon]="['fas', 'coffee']" flip="horizontal"></fa-icon>
<fa-icon [icon]="['fas', 'coffee']" flip="vertical"></fa-icon>
<fa-icon [icon]="['fas', 'coffee']" flip="both"></fa-icon>

尺寸:

<fa-icon [icon]="['fas', 'coffee']" size="xs"></fa-icon>
<fa-icon [icon]="['fas', 'coffee']" size="lg"></fa-icon>
<fa-icon [icon]="['fas', 'coffee']" size="6x"></fa-icon>

按角度偏轉(zhuǎn):

<fa-icon [icon]="['fas', 'coffee']" rotate="90"></fa-icon>
<fa-icon [icon]="['fas', 'coffee']" rotate="180"></fa-icon>
<fa-icon [icon]="['fas', 'coffee']" rotate="270"></fa-icon>

靠左或靠右排列:

<fa-icon [icon]="['fas', 'coffee']" pull="left"></fa-icon>
<fa-icon [icon]="['fas', 'coffee']" pull="right"></fa-icon>

感謝各位的閱讀!關(guān)于“怎么以Angular的姿勢打開Font-Awesome”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI