【踩坑】iconfont使用異常bug


你見過html頁面上‘x’字符變成打印機圖標么?一般人應該沒有。

-----------------------詭異bug-----------------------

今天測試報了一個bug,說頁面上‘x’變成了打印機,之前從來沒遇到過~~

我看了看我這的,正常啊~又去虛擬機下windows看了下,也正常啊~

 

詭異,開始去百度。發現有人在百度知道提了問題~第一個答案,瞎扯。

不過下邊有個說,是因為用了微軟雅黑字體的原因。

(#‵′)靠,微軟雅黑還有這個bug?下的我趕緊去試了試,然並卵,這人也是瞎說。

 

然后去google看看吧,搜了半天,也只有百度知道那一個案例~~囧,還是自己去復現吧。

 

-----------------------穩定復現-----------------------

這里先吐槽一下測試提的bug,沒有操作步驟~~~~~不過我經歷了十分鍾后,終於找到了穩定復現~~~~那么,問題是怎么來的呢

 

1. 嘗試修改元素class發現,用了某個class后才有這個問題,該元素下所有的‘x’均會變成打印機。那就是這個class有問題。

2. mac OS和windows下表現一致。

3. 去查看iconfont庫,發現並沒有打印機圖標。

4. 懷疑和content有關,把正常的圖標的content屬性改成x,果然,也變成了打印機。

5. 結合3.4,懷疑chrome默認加載了什么iconfont字體庫設置,把‘x’當做了iconfont的content

6. 未果。

7. 考慮iconfont自身問題,抓包看font資源,preview后,抓到真凶

8. 去別的網站(iconmoon)核對,確認

 

9. 解決問題。iconfont渲染錯誤,咱這一時半會兒除了替換字體包,也沒轍。所以先從用法上規避。

 

問題用法

<span class="iconfont">xxxxxx</span>

改后用法

<span>xxxxxx<i  class="iconfont"></i></span>

 

也就是說,iconfont元素里邊避免在使用文案,所有圖標使用最小元素去處理

 

 

廢話了一大堆,想想還是因為項目中iconfont的使用沒有做好規范~~~~~~~~~

心累~~~幾個模塊,兩三種用法~~~等改天代碼重構優化吧

流水賬文章,自己留着看吧

 

結論:

使用iconfont元素的內部,避免使用文案。規范iconfont用法~

 

另外,已經在github上加了issue,等修復就好

 


免責聲明!

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



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