CSS iconfont阿里巴巴矢量圖庫在開發中實戰使用


前言

項目開發中,是避免不了使用小圖標的,那么國內比較好用的圖標網站當屬iconfont了,下面我們將詳細介紹如何使用。

iconfont選擇所需圖標

1、iconfont官網

2、把所需要的添加進入購物車

3、添加所需圖標完畢后,點擊右上角的購物車圖標

4、下載代碼

5、下載的代碼解壓后

圖片上圈起來的都是字體文件

6、項目中新建一個font文件夾用來放置字體文件

7、取出iconfont.css文件放入css文件夾

8、打開iconfont.css文件,配置正確的字體文件路徑

// 這里要根據自己的項目配置正確的字體路徑:../font/iconfont.eot
@font-face {font-family: "iconfont";
  src: url('../font/iconfont.eot?t=1554343058030'); /* IE9 */
  src: url('../font/iconfont.eot?t=1554343058030#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('這里省略的base64字符...') format('woff2'),
  url('../font/iconfont.woff?t=1554343058030') format('woff'),
  url('../font/iconfont.ttf?t=1554343058030') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  url('../font/iconfont.svg?t=1554343058030#iconfont') format('svg'); /* iOS 4.1- */
}
// 這個文件是下載字體時系統自帶的
.iconfont {
  font-family: "iconfont" !important; // 這里的iconfont 和上面定義的font-family一定要是一樣的
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
// 下面是自動生成的圖標類,可以直接引用
.icon-icon_add:before {
  content: "\eb8f";
}

.icon-icon_addmessage:before {
  content: "\eb90";
}

.icon-icon_addresslist:before {
  content: "\eb91";
}

.icon-icon_affiliations_li:before {
  content: "\eb92";
}

9、項目中使用

<!-- 這個文件一定要正確引入 -->
<link rel="stylesheet" href="../../css/iconfont.css"> 

/* 正確使用一個icon */
<i class="iconfont icon-icon_add"></i>

這樣我們就可以愉快的使用icon了

效果展示:

【font-class】
我們引用icon的方式是通過class的方式引入的。具有以下特點:

  • 兼容性良好,支持 IE8+,及所有現代瀏覽器。
  • 相比於 Unicode 語意明確,書寫更直觀。可以很容易分辨這個 icon 是什么。
  • 因為使用 class 來定義圖標,所以當要替換圖標時,只需要修改 class 里面的 Unicode 引用。
  • 不過因為本質上還是使用的字體,所以多色圖標還是不支持的。

[注意] 之所以兼容IE8+是因為使用了before偽元素

【Symbol 引用】
這是一種全新的使用方式,應該說這才是未來的主流,也是平台目前推薦的用法。
這種用法其實是做了一個 SVG 的集合,與class引入相比具有如下特點:

  • 支持多色圖標了,不再受單色限制。
  • 通過一些技巧,支持像字體那樣,通過 font-size, color 來調整樣式。
  • 兼容性較差,支持 IE9+,及現代瀏覽器。
  • 瀏覽器渲染 SVG 的性能一般,還不如 png。

【使用方式】
引入下載下來的iconfont.js到相應文件夾

HTML文件中引入iconfont.js

<script src="../../js/iconfont.js"></script>

HTML中使用svg

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
   <title>font</title>
    <link rel="stylesheet" href="../../css/iconfont.css">
    <style>
        /* 添加svg樣式 */ 
        .icon {
            width: 1em;
            height: 1em;
            vertical-align: -0.15em;
            fill: currentColor;
            overflow: hidden;
        }
    </style>
</head>
<body>

<!-- 引入svg -->
<svg class="icon" aria-hidden="true">
    <use xlink:href="#icon-icon_addresslist"></use>
</svg>


<script src="../../js/iconfont.js"></script>
</body>
</html>

現在頁面上也可以正確渲染圖標了。

小結

目前來說,常用的方法就是上面兩種了,我們團隊目前使用的是class方式引用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM