reactjs 項目使用 iconfont 小圖標以及使用帶顏色 inconfont 小圖標


在 reactjs 項目中是所有小圖標目前主要分為兩類使用方式,第一類通過 CSS 引入的方式使用,第二類使用 JS 的方式引入使用。

  1. 注冊-登錄-建立項目-選中圖標添加到購物車-添加至項目-下載到本地,當然亦能上傳制作的自定義小圖標。下面正式代碼部分。

下載到本地解壓后有如下幾個文件:

其中第一種 CSS 引入使用的方案需要使用的文件如下圖紅線標記:

在如上圖中找到 iconfont.css 打開后更改路徑(一般如圖中所示)在紅線標記的位置:

修改完成后保存,一般會項目入口的 CSS 文件中引入這個 CSS 文件,依照自己的文件路徑(例子里放在 static 目錄下,注意末尾有分號):

@import './static/iconfont/iconfont.css';

之后則在頁面中直接書寫:

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

第二種方式本質也是 CSS 的,不過其概念不同,需要安裝第三方插件 styled-components

前三步都相同,
第四步則把 iconfont.css 改成 iconfont.js
第五步在改名后的 iconfont.js 文件頂部引入 styled-components 導出變量具體的代碼如下:

import { createGlobalStyle } from 'styled-components'

export const Icon = createGlobalStyle `@font-face {font-family: "iconfont";
  src: url('./iconfont.eot?t=1561821154036'); /* IE9 */
  src: url('./iconfont.eot?t=1561821154036#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAQQAAsAAAAACGgAAAPDAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDMgqEBINWATYCJAMUCwwABCAFhG0HShtkBxEVnOvIfhS4sTOsrGf+U2g2USp0kf7/ETzw7/mei3TZzaMns+lg40tuAwQQzN2ajrWMiDCdjp6nnuV/5Ee707DO4zRKISRC8j/HTJfWYPltNpfIsm7aKABHCTSgiL7o5wcaIHeifA7EW5d5HAIwJMlKlC1ftS42GmOcAESn9m2bY6d06Jp0gY3AU7JUI6ZhYcvx8hIw1f958ZHc2SCxFMbUmm3KtaLkm8h3tdQw/zAauQj441kAbhUoICvQIHqU2jqhwkBWCqP8naYkYLCRyDeRb/K/ufqult8PVbQjhTH/4YFGIREgPBipAQCUpIIa3kTavFieHxoU5FfBhIR3tQT3kmoBYJC0EHiLgUvwJhKJRoaGRgXYdqQTHNO37uHb3LpVV9T1irt3fcPvuG4ybtjtWr4jd8Qe9DRRW++KO3fcol63b3sn3i0SibdOC4lTw8GL3LoVbNyAuqajU7/BnCSzKKZe84PORDDCHDMTrojhPt9wv2tR7651DFvvTDwpBKa2zeEbPty4c2ZRN6KVd15a9zVWXYiLarggvm20b+HGvbvTefffzvrnUP36j3P0LCXH7to1VpYcanyp5GH99+8ONyyz/M+IVKW/1XTmpEt58FoqN5fsMmNGF9lV0hLJsrFdV5nTTZV0KOW5c4f2n6tGq9aimqhKOA5ZtG4trobPxbE2Fa5nLHu9dZBflrnToXgNryzdon3xu/pP8Z69ThfMIaxS2btmctsHNnaqlCz8qomv18XYyD9x6T6lS+Lfbkk3eXRi3gZCinHVCSn8mPDYt0/H76z0cGH3PQkDo2OcqJ1x7yrlabD8R4db7Nhq5SOrl6Mgo6dqLp+D36+OKfzQcFVfDf7zv8P7+Jg9TYOLfrMdDcD9Ysueo8A/TKOGwe+T05r/n/kty7QqNPSWlottnmy3yJnQIZU6A/xdV5gn4zgiEVsENs8HSJKRCAqbtEiNzQoWDnnBg00JMNCzyFc7wpEpseRAZm8CQogPSEGOghLii9TYH1ii/MEjJAWGW/iWjvS135QhFIwa5Au8ahtjGXkTpB/R3ipBSaFPuSIN3g1JGGfDOTZIY8wY7jZlNmCoreFATsOqaqGjtkDFoWPusigyZe8UqrYebZRBkMCQBqQX4CmthnFrs03u+4+QdVMRqKakwnqFyMB3DhKhuAUylzWtSq7lMYM7K8WYAQzSqoEDsaDKDLRAVz6ogBQWcj18nUxEVTNtZeH8ivoZtwGGcRcrKZTQwhIe9DvfzJv7NNlPSondPfQJlENV+mY0AgA=') format('woff2'),
  url('./iconfont.woff?t=1561821154036') format('woff'),
  url('./iconfont.ttf?t=1561821154036') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  url('./iconfont.svg?t=1561821154036#iconfont') format('svg'); /* iOS 4.1- */
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
`

最后則在入口 js 中引入改名的 iconfont.js (注意文件路徑)。
第二種方案不明白的地方可以參考我 上上上上上篇博文

使用帶顏色的 iconfont 小圖標

  • 第一步引入 symbol

把圖中代碼放入 public 文件中 index.html 添加一條(器中 src 的鏈接按照你第一步找到的鏈接替換)

<script type="text/javascript" src = "https://at.alicdn.com/t/font_1288963_qzgtmt0siv.js"></script>
  • 第二步在 index.css 引入如下 css
.icon {
       width: 1em; height: 1em;
       vertical-align: -0.15em;
       fill: currentColor;
       overflow: hidden;
    }
  • 第三步書寫( icon-xxx 替換成你需要使用的 icon 名字)
<svg className="icon" aria-hidden="true">
    <use xlinkHref="#icon-xxx"></use>
</svg>

參考原文


免責聲明!

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



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