国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

iconfont的三種使用方式詳解

2019-11-19 13:20:25
字體:
來源:轉載
供稿:網友

在我們項目中經常要使用到iconfont,在此我們使用阿里巴巴矢量庫提供的icon圖標,此圖標庫足夠為我們提供大量的圖標,我們首先需要的事在阿里巴巴矢量圖標庫新建一個自己的賬號,并且新建一個項目,這個項目包含了你所有要用到的圖標。我們需要選中需要的圖標放到自己的項目中,并下載下來放到自己項目下的iconfont文件夾之下。(需要更新圖標時,下載包也需要重新下載更新)

方式一:使用symbol方式(本質是用svg標簽構成的)

第一步:為了代碼更好的復用,我們封裝一個svg-icon組件,代碼如下:

<template> <svg :class="svgClass" aria-hidden="true">  <use :xlink:href="iconName" rel="external nofollow" ></use> </svg></template><script>export default { name: 'svg-icon', props: {  iconClass: {   type: String,   required: true  },  className: {   type: String  } }, computed: {  iconName() {   return `#icon-${this.iconClass}` // 注意:因為此處綁定的svgClass名已經包含#icon,所以復制symbol名字事不需要名字的前綴了  },  svgClass() {   if (this.className) {    return 'svg-icon ' + this.className   } else {    return 'svg-icon'   }  } }}</script><style scoped>.svg-icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden;}</style>

第二步:在main.js中引入

import '@/assets/icons/iconfont.js' //symbol方式的相關文件import '@/assets/icons/iconfont.css' // Unicode和fontclass方式的樣式包import SvgIcon from '@/components/SvgIcon' // 使用icon組件Vue.component('svg-icon', SvgIcon) // 引入全局組件,也可以在局部引入

第三步:使用

在自己需要用到的組件中:

<template> <div> <!--方式一:使用svg--> <svg-icon class="h1" icon-class="iconfontzhizuobiaozhunbduan35"></svg-icon> <svg-icon class="h1" icon-class="hekriconshebeidengpao"></svg-icon> <!--方式二:使用unicode--> <i class="iconfont unicode"></i> <i class="iconfont unicode"></i> <!--方式三:使用iconfontclass--> <span class="iconfont icon-baojingliebiao classicon"></span> </div></template><script>// import '@/assets/icons/iconfont.css'</script><style>  .h1{ width:50px; height:50px; font-size: 100px; } .unicode{ font-size: 30px; } .classicon{  /* 可以自定義icon的顏色與大小 */ font-size: 100px;  color:red; }</style>

另外兩種使用方式是使用unicode和fontclass方式,如上面的代碼所示引入與使用

然后我們談談這三種方式的優缺點吧

unicode:

優點:

  • 兼容性最好,支持ie6+
  • 支持按字體的方式去動態調整圖標大小,顏色等等

缺點:

  • 不支持多色圖標
  • 在不同的設備瀏覽器字體的渲染會略有差別,在不同的瀏覽器或系統中對文字的渲染不同,其顯示的位置和大小可能會受到font-size、line-height、word-spacing等CSS屬性的影響,而且這種影響調整起來較為困難
  • 不直觀,看unicode碼很難分辨什么圖標

fontclass:

  • 兼容性良好,支持ie8+
  • 相比于unicode語意明確,書寫更直觀。可以很容易分辨這個icon是什么。

symbol:

  • 支持多色圖標了,不再受單色限制。
  • 支持像字體那樣通過font-size,color來調整樣式。
  • 支持 ie9+
  • 可利用CSS實現動畫。
  • 減少HTTP請求。
  • 矢量,縮放不失真
  • 可以很精細的控制SVG圖標的每一部分

綜上所述的一些特點,個人比較推薦使用symbol或者fontclass的方式

總結

以上所述是小編給大家介紹的iconfont的三種使用方式,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黎平县| 万山特区| 青田县| 屏南县| 闽侯县| 南靖县| 泰和县| 囊谦县| 乌海市| 临清市| 准格尔旗| 福建省| 山阴县| 塔河县| 磐安县| 尉氏县| 嘉祥县| 十堰市| 利辛县| 怀仁县| 益阳市| 静乐县| 土默特右旗| 乐山市| 乌拉特前旗| 马龙县| 馆陶县| 德州市| 吉隆县| 新昌县| 峨眉山市| 临城县| 鄯善县| 包头市| 山阴县| 加查县| 沭阳县| 青海省| 鄂托克旗| 抚州市| 武城县|