国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體

這篇具有很好參考價(jià)值的文章主要介紹了Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

需求:

將 iconfont 阿里圖標(biāo)庫(kù)的圖標(biāo)與字體引入到我們的 Vue3 + vite + TS 項(xiàng)目中來(lái)!

1.常用圖標(biāo)格式簡(jiǎn)介

我們使用圖標(biāo)的方式有很多種,比如說(shuō)直接使用 png、jpg 等圖片格式,這是最原始的方式,所以我們這里不過(guò)多闡述,它們的優(yōu)缺點(diǎn)相信大家也知道。

這里我們主要對(duì)比阿里圖標(biāo)庫(kù)提供 3 種圖標(biāo)引用方式:unicode、font-classsymbol。

1.1 unicode 格式

這種方式比較原始,主要是將圖標(biāo)以字體的形式渲染到網(wǎng)頁(yè)上,既然是以字體的格式,那么它的優(yōu)缺點(diǎn)也是顯而易見(jiàn)的。

特點(diǎn):

  • 兼容性最好,支持 ie6+,及所有現(xiàn)代瀏覽器。
  • 支持按字體的方式去動(dòng)態(tài)調(diào)整圖標(biāo)大小,顏色等等。
  • 但是因?yàn)槭亲煮w,所以不支持多色。只能使用平臺(tái)里單色的圖標(biāo),就算項(xiàng)目里有多色圖標(biāo)也會(huì)自動(dòng)去色。

所以目前來(lái)說(shuō),我們并不建議以 Unicode 的方式引入 iconfont 圖標(biāo)。

使用方式示例代碼:

<i class="iconfont">&#x33;</i>

1.2 font-class 方式

font-class 方式本質(zhì)上還是使用的字體的形式,所以它的優(yōu)缺點(diǎn)其實(shí)和 unicode 方式差不多,但是卻運(yùn)用很廣泛,我們可以來(lái)看看它的特點(diǎn),就知道為什么了。

特點(diǎn):

  • 兼容性良好,支持 ie8+,及所有現(xiàn)代瀏覽器。
  • 相比于 unicode 語(yǔ)意明確,書(shū)寫(xiě)更直觀??梢院苋菀追直孢@個(gè) icon 是什么。
  • 因?yàn)槭褂?class 來(lái)定義圖標(biāo),所以當(dāng)要替換圖標(biāo)時(shí),只需要修改 class 里面的 unicode 引用。
  • 不過(guò)因?yàn)楸举|(zhì)上還是使用的字體,所以多色圖標(biāo)還是不支持的。

使用方式示例代碼:

<i class="iconfont icon-xxx"></i>

可以看到它最大的特點(diǎn)就是語(yǔ)義明確,所以這是它很流行的重要原因之一。

1.3 symbol 方式

這種方式相較于而言比較新,它主要利用了 svg 這種格式,在以前,由于它的瀏覽器兼容性不太好,所以沒(méi)有大規(guī)模的流行。不過(guò)就目前來(lái)看,兼容性基本上不是問(wèn)題了,畢竟 IE 都淘汰了。所以它是目前比較推崇的圖標(biāo)引用格式,至于為什么,我們一起來(lái)看看它的特點(diǎn)。

特點(diǎn):

  • 支持多色圖標(biāo)了,不再受單色限制。
  • 通過(guò)一些技巧,支持像字體那樣,通過(guò) font-size,color 來(lái)調(diào)整樣式。
  • 兼容性較差,支持 ie9 及現(xiàn)代瀏覽器。
  • 瀏覽器渲染 svg 的性能一般,還不如 png。

使用示例代碼:

<svg class="icon" aria-hidden="true">
    <use xlink:href="#icon-xxx"></use>
</svg>

可以看到它的最大特點(diǎn)就是支持多色圖標(biāo)了,而且還支持向字體那樣調(diào)整樣式了,雖然它的渲染性能不及 png,但是它的其它好處可比 png 多多了,所以我們通常建議項(xiàng)目中使用 symbol 的方式引入圖標(biāo)庫(kù)。

這也是本篇文章將要講解的方式。

2.項(xiàng)目引入 iconfont

2.1 封裝 svg-icon 組件

我們?cè)?iconfont 官網(wǎng)上可以看到給出了 symbol 引用示例,代碼如下:

<svg class="icon" aria-hidden="true">
    <use xlink:href="#icon-xxx"></use>
</svg>

上段代碼就是圖標(biāo)的具體使用方式,如果我們每次都按照上面的方式使用,那么無(wú)疑是很麻煩的,我們不妨將上面的代碼封裝為一個(gè)組件。在需要用到圖標(biāo)的地方直接引入我們的組件即可了。

第一步:在 components 目錄下新建 SvgIcon.vue 文件。

代碼如下:

// src/components/SvgIcon.vue
<template>
  <svg :class="svgClass" aria-hidden="true">
    <use :xlink:href="iconClassName" :fill="color" />
  </svg>
</template>
<script setup lang="ts">
import { computed } from 'vue';
const props = defineProps({
  iconName: {
    type: String,
    required: true
  },
  className: {
    type: String,
    default: ''
  },
  color: {
    type: String,
    default: '#409eff'
  }
});
// 圖標(biāo)在 iconfont 中的名字
const iconClassName = computed(()=>{
  return `#${props.iconName}`;
})
// 給圖標(biāo)添加上類(lèi)名
const svgClass = computed(() => {
  if (props.className) {
    return `svg-icon ${props.className}`;
  }
  return 'svg-icon';
});
</script>
<style scoped>
.svg-icon {
  width: 1em;
  height: 1em;
  position: relative;
  fill: currentColor;
  vertical-align: -2px;
}
</style>

第二步:在 main.ts 中全局注冊(cè)

組件封裝好后我們還需要全局注冊(cè)一下,不然每次引用圖標(biāo)的時(shí)候還得單獨(dú)引入一次該組件。所以我們就在 main.ts 里面全局注冊(cè)一下。

代碼如下:

// main.ts
import { createApp } from 'vue'
import App from './App.vue'
import SvgIcon from './components/SvgIcon/SvgIcon.vue'
const app = createApp(App)
app.component('SvgIcon', SvgIcon);
app.mount('#app')

2.2 引入 iconfont

接下來(lái)我們就需要去 iconfont 官網(wǎng)了,新建一個(gè) iconfont 資源庫(kù),存放自己的 iconfont。如下圖所示:
Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體

我們選中 symbol 模式,這里我介紹三種引入方式:

第一種:

直接在線(xiàn)引入官網(wǎng)提供的在線(xiàn) js 地址,我們直接以 script
標(biāo)簽的形式引入即可。這種方式最為簡(jiǎn)單,但是也有不好的一點(diǎn),需要用戶(hù)有網(wǎng)絡(luò)環(huán)境,而且得保證 iconfont 網(wǎng)站沒(méi)有崩掉。

第二種:

直接下載至本地,我們從官網(wǎng)直接將代碼下載下來(lái),然后放到我們項(xiàng)目中引用,也是可以的。不過(guò)這種方式稍顯麻煩,每次更新圖標(biāo)庫(kù)之后都得重新下載一遍。

第三種:

這也是我比較喜歡的方式,也就是將在線(xiàn)地址中的代碼直接復(fù)制粘貼到我們項(xiàng)目中來(lái),這種方式最為簡(jiǎn)單,每次更新圖標(biāo)庫(kù)之后只需要重新復(fù)制一下代碼即可。這里我們也將采用這種方式。

具體使用:

第一步:在項(xiàng)目 assets 目錄下新建 iconfont 目錄,在該目錄下新建 iconfont.js 文件,然后將 iconfont 在線(xiàn)地址中提供的代碼全部復(fù)制過(guò)來(lái)。如下圖:
Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體
Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體
Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體

第二步:然后在 main.ts 中引入 iconfont.js。

代碼如下:

import { createApp } from 'vue'
import App from './App.vue'
import SvgIcon from './components/SvgIcon.vue'
import './assets/iconfont/iconfont.js';
const app = createApp(App)
app.component('SvgIcon', SvgIcon);
app.mount('#app')

3.項(xiàng)目中具體使用 iconfont

引入 iconfont 得過(guò)程非常簡(jiǎn)單,主要分為了以下兩步:

  1. 封裝 svg-icon 組件
  2. 引入 iconfont 生成的 js 代碼

接下來(lái)我們就實(shí)際使用試試,我們就直接在 App.vue 中引入幾個(gè)圖標(biāo)試試。

代碼如下:

<template>
  <img alt="Vue logo" src="./assets/logo.png" />
  <svg-icon iconName="icon-gongzuoleixing"></svg-icon>
  <svg-icon iconName="icon-yulan" className="yulan"></svg-icon>
</template>

Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體

可以看到我們的圖標(biāo)已經(jīng)可以使用了,其中 iconName 屬性值就是我們?cè)?iconfont 網(wǎng)站復(fù)制的 iconfont
的名稱(chēng)代碼。如果想要該顏色或大小,可以自行傳入一個(gè)類(lèi)或者 color 屬性。

除此之外,如果你有自己下載好的 svg 文件,那么也是可以通過(guò)上面方式引入的,只需要將 iconName 改為你自己本地的 svg 名稱(chēng)即可。

4.項(xiàng)目中使用 阿里字體

第一步:在項(xiàng)目 assets 目錄下新建 iconfont 目錄,在該目錄下新建 font.css 文件,然后將 阿里字體在線(xiàn)地址中提供的代碼全部復(fù)制過(guò)來(lái)
Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體
Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體

代碼如下:

@font-face {
  font-family: "思源宋體 Regular";
  font-weight: 400;
  src: url("http://at.alicdn.com/wf/webfont/xh4nx6fdEXTy/0jXUXbuJbGMJTGE1-Z9ES.woff2") format("woff2"),
    url("http://at.alicdn.com/wf/webfont/xh4nx6fdEXTy/BXimMREEQDbyuQ0kj-J5S.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: "思源宋體 Medium";
  font-weight: 500;
  src: url("http://at.alicdn.com/wf/webfont/xh4nx6fdEXTy/SYySrGV-pN0GFAJ-cof25.woff2") format("woff2"),
    url("http://at.alicdn.com/wf/webfont/xh4nx6fdEXTy/Q9kaOvRthiBt50w-wLg7f.woff") format("woff");
  font-display: swap;
}

第二步:在main.ts文件中全局引入該文件

import '@/assets/font/font.css'

第三步:在頁(yè)面中使用字體文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-437454.html

.font-text {
	font-family: "思源宋體 Medium";
}

到了這里,關(guān)于Vue3 項(xiàng)目引入阿里 iconfont 圖標(biāo)和字體的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 小白詳解Vue3項(xiàng)目中怎么引入 SVG 圖標(biāo)

    小白詳解Vue3項(xiàng)目中怎么引入 SVG 圖標(biāo)

    今天一淘模板給大家來(lái)詳解Vue3項(xiàng)目中怎么引入 SVG 圖標(biāo)具體流程 SVG 圖標(biāo) 既然是頁(yè)面,肯定離不開(kāi)一些圖標(biāo)?icon?,所以肯定要去最全的?阿里圖標(biāo)庫(kù)?來(lái)尋找 這里講解下如何將?阿里圖標(biāo)庫(kù)?里面的東西,放到我們的頁(yè)面上 阿里圖標(biāo)庫(kù) 進(jìn)入頁(yè)面,找到?資源管理?下面的?我的

    2024年02月09日
    瀏覽(19)
  • 【易售小程序項(xiàng)目】頂部導(dǎo)航欄和底部導(dǎo)航欄設(shè)置+iconfont圖標(biāo)引入

    【易售小程序項(xiàng)目】頂部導(dǎo)航欄和底部導(dǎo)航欄設(shè)置+iconfont圖標(biāo)引入

    在正式開(kāi)發(fā)小程序的功能之前,首先需要確定小程序的主要框架。 我的小程序需要?jiǎng)?chuàng)建的頁(yè)面是“首頁(yè)”、“我想要”、“私信”、“我的”,“首頁(yè)”已經(jīng)存在于項(xiàng)目中,不需要重復(fù)創(chuàng)建。創(chuàng)建過(guò)程如下: 創(chuàng)建成功,不僅創(chuàng)建了 star.vue , Hbuilder 還自動(dòng)幫助創(chuàng)建了 star 文件

    2024年02月10日
    瀏覽(25)
  • 前端項(xiàng)目,個(gè)人筆記(二)【Vue-cli - 引入阿里矢量庫(kù)圖標(biāo) + 吸頂交互 + setup語(yǔ)法糖】

    前端項(xiàng)目,個(gè)人筆記(二)【Vue-cli - 引入阿里矢量庫(kù)圖標(biāo) + 吸頂交互 + setup語(yǔ)法糖】

    目錄 1、項(xiàng)目中引入阿里矢量庫(kù)圖標(biāo) 2、實(shí)現(xiàn)吸頂交互 3、語(yǔ)法糖--script setup 3.1、無(wú)需return? 3.2、子組件接收父組件的值-props的使用 3.3、注冊(cè)組件 步驟一 :進(jìn)入阿里矢量庫(kù)官網(wǎng)中:iconfont-阿里巴巴矢量圖標(biāo)庫(kù)? ,挑選自己需要的圖標(biāo): ????????我在查看其他博主的博客時(shí)

    2024年04月16日
    瀏覽(22)
  • uni-app使用iconfont字體圖標(biāo)

    uni-app使用iconfont字體圖標(biāo)

    2024年02月07日
    瀏覽(54)
  • Vite4+Pinia2+vue-router4+ElmentPlus搭建Vue3項(xiàng)目(組件、圖標(biāo)等按需引入)[保姆級(jí)]

    Vite4+Pinia2+vue-router4+ElmentPlus搭建Vue3項(xiàng)目(組件、圖標(biāo)等按需引入)[保姆級(jí)]

    本文為快速搭建vite4項(xiàng)目,一些插件的詳情就不做過(guò)多的解釋?zhuān)挤庞泄倬W(wǎng)鏈接,需要深入了解的小伙伴可自行查看。至于為什么選擇使用vite,因?yàn)樗邆渲焖賳?dòng)、按需編譯、模塊熱更新的亮點(diǎn)。歸根結(jié)底最大的特點(diǎn)就是 快 。vue的創(chuàng)始人是尤雨溪大佬,vite也是他。所以

    2023年04月19日
    瀏覽(31)
  • Vue3 中引入液晶數(shù)字字體(通常用于大屏設(shè)計(jì))

    Vue3 中引入液晶數(shù)字字體(通常用于大屏設(shè)計(jì))

    下載液晶字體 DS-Digital.ttf ??注意:本項(xiàng)目使用的是 vue-cli 搭建的基礎(chǔ)框架, webpack.base.conf.js 配置文件中已經(jīng)配置好了,直接如上步驟使用即可,若是其他框架則需要檢查一下 webpack.base.conf.js 配置文件中以下配置是否包括 ttf 格式。

    2024年02月11日
    瀏覽(23)
  • C# WPF 中 外部圖標(biāo)引入iconfont,無(wú)法正常顯示問(wèn)題 【小白記錄】

    C# WPF 中 外部圖標(biāo)引入iconfont,無(wú)法正常顯示問(wèn)題 【小白記錄】

    正確的格式,注意字體文件 “xxxx.ttf” 應(yīng)寫(xiě)為 “#xxxx” 比如我的圖標(biāo)字體在當(dāng)前項(xiàng)目的 /Assets/Fonts/ 路徑下,那么我在MainWindow中引入該圖標(biāo)的話(huà),應(yīng)該如下面的代碼一樣。 點(diǎn)擊字體文件,然后右鍵–屬性,將生成操作選為Resource(資源)即可

    2024年02月12日
    瀏覽(24)
  • 微信小程序開(kāi)發(fā)系列(十三)·如何使用iconfont、微信小程序中如何使用字體圖標(biāo)

    微信小程序開(kāi)發(fā)系列(十三)·如何使用iconfont、微信小程序中如何使用字體圖標(biāo)

    目錄 1.? 如何使用iconfont 2.??微信小程序中如何使用字體圖標(biāo) 3.? 背景圖的使用 ????????在項(xiàng)目中使用到的小圖標(biāo),一般由公司設(shè)計(jì)師進(jìn)行設(shè)計(jì),設(shè)計(jì)好以后上傳到阿里巴巴矢量圖標(biāo)庫(kù),然后方便程序員來(lái)進(jìn)行使用。 ????????小程序中的字體圖標(biāo)使用方式與 Web 開(kāi)發(fā)中

    2024年03月20日
    瀏覽(109)
  • 【UniApp開(kāi)發(fā)小程序】頂部導(dǎo)航欄和底部導(dǎo)航欄設(shè)置+iconfont圖標(biāo)引入

    【UniApp開(kāi)發(fā)小程序】頂部導(dǎo)航欄和底部導(dǎo)航欄設(shè)置+iconfont圖標(biāo)引入

    在正式開(kāi)發(fā)小程序的功能之前,首先需要確定小程序的主要框架。 我的小程序需要?jiǎng)?chuàng)建的頁(yè)面是“首頁(yè)”、“我想要”、“私信”、“我的”,“首頁(yè)”已經(jīng)存在于項(xiàng)目中,不需要重復(fù)創(chuàng)建。創(chuàng)建過(guò)程如下: 創(chuàng)建成功,不僅創(chuàng)建了 star.vue , Hbuilder 還自動(dòng)幫助創(chuàng)建了 star 文件

    2024年02月16日
    瀏覽(24)
  • Element-Plus搭建CMS頁(yè)面結(jié)構(gòu) 引入第三方圖標(biāo)庫(kù)iconfont(詳細(xì))

    Element-Plus搭建CMS頁(yè)面結(jié)構(gòu) 引入第三方圖標(biāo)庫(kù)iconfont(詳細(xì))

    element plus組件庫(kù)是由餓了么前端團(tuán)隊(duì)專(zhuān)門(mén)針對(duì)vue框架開(kāi)發(fā)的組件庫(kù),專(zhuān)門(mén)用于電腦端網(wǎng)頁(yè)的。因?yàn)槔锩婕闪撕芏嘟M件,所以使用他可以非??焖俚膸臀覀儗?shí)現(xiàn)網(wǎng)站的開(kāi)發(fā)。 安裝: npm install element-plus --save 引入: 引入的時(shí)候也是分成兩種,一種是全部引入,一種是按需引入

    2024年02月15日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包