你见过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,等修复就好

【踩坑】iconfont使用异常bug的更多相关文章

  1. .NET Core 从1.1升级到2.0记录(Cookie中间件踩坑)

    .NET Core 2.0 新时代 万众瞩目的.NET Core 2.0终于发布了,原定于9.19的dotnetconf大会的发布时间大大提前了1个月,.NET Core 2.0/.NET Stand ...

  2. 【bug记录】OS Lab4 踩坑记

    OS Lab4 踩坑记 Lab4在之前Lab3的基础上,增加了系统调用,难度增加了很多.而且加上注释不详细,开玩笑的指导书,自己做起来困难较大.也遇到了大大小小的bug,调试了一整天. 本文记录笔者在 ...

  3. 【bug记录】OS Lab3 踩坑记

    OS Lab3 踩坑记 Lab3在之前Lab2的基础上,增加了进程建立.调度和中断异常处理.其中测试包括进程建立以及进程调度部分. 由于是第一次做bug记录,而且是调试完bug后再做的记录,所以导致记 ...

  4. 【踩坑系列】使用long类型处理金额,科学计数法导致金额转大写异常

    1. 踩坑经历 上周,一个用户反馈他创建的某个销售单无法打开,但其余销售单都可以正常打开,当时查看了生产环境的ERROR日志,发现抛了这样的异常:java.lang.NumberFormatExcep ...

  5. 异常记录-Dialog样式踩坑

    好久没记录文档了,拖了老半个月,终于空下来时间,为了避免以后踩坑,必须记录记录. 背景: 为activity设置样式为弹窗activity 异常一: activity设置style后,布局不能够正常显 ...

  6. Spark踩坑填坑-聚合函数-序列化异常

    Spark踩坑填坑-聚合函数-序列化异常 一.Spark聚合函数特殊场景 二.spark sql group by 三.Spark Caused by: java.io.NotSerializable ...

  7. 【踩坑】360安全浏览器“极速模式”和“兼容模式”,套路还是bug?

    分享踩坑点: 项目中需要兼容360安全浏览器,大家当然都希望用极速模式打开网站,但是发现总是被兼容模式打开 网址类似 aa.xx.dd.com 网上找了很多地方,有以下两种方法 1.<meta ...

  8. Spark 1.6升级2.x防踩坑指南

    原创文章,谢绝转载 Spark 2.x自2.0.0发布到目前的2.2.0已经有一年多的时间了,2.x宣称有诸多的性能改进,相信不少使用Spark的同学还停留在1.6.x或者更低的版本上,没有升级到2. ...

  9. 『OGG 02』Win7 配置 Oracle GoldenGate Adapter Java 踩坑指南

    上一文章 <__Win7 配置OGG(Oracle GoldenGate).docx>定下了 两个目标: 目标1: 给安装的Oracle_11g 创建 两个用户 admin 和 root ...

随机推荐

  1. Vi/Vim 替换使用方法

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian 为 s ...

  2. 对Java配置文件中敏感信息进行加解密的工具类

    在 JavaEE 配置文件中,例如 XML 或者 properties 文件,由于某些敏感信息不希望普通人员看见,则可以采用加密的方式存储,程序读取后进行解密. 常见的如: 数据库用户密码,短信平台用 ...

  3. StarUML添加自定义approach和profile

    来源:fasiondog 添加Approch StarUML中的Approch也就是创建项目时的模板,其中预定义了所使用方法的模型和视图.StarUML默认Approach如下: StarUML的Ap ...

  4. 【Java编程】Java学习笔记<一>

    1.  高级语言的编译和执行方法可以归为两大基本技术:编译执行和解释执行.C/C++/Delphi是编译执行,basic/java/matlab是解释执行. 2.    尽管Java是解释执行的,也需 ...

  5. Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  6. java数据类型易错点简单总结,欢迎大神前辈补充!谢谢

    数据类型那这边看似简单,花了我很长时间也就是才练到几成"功力"吧.还希望路过的大神在下面补充,菜鸟的我深受感谢! 首先看两个思考题 思考题1:请问下面这个有没有问题 double ...

  7. JAVA中重写equals()方法的同时要重写hashcode()方法

    object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...

  8. sql记录查询重复注意事项(经验提升),in的用法和效率

    sql查询重复记录,使用: select * from dimappnamenew as appn where id in (   select id   from dimappnamenew gro ...

  9. cocoa编程第4版 8.6 挑战2 解答

    该版本的RaiseMan不用Array Controller,全部手写代码. 要注意的有以下几点: 1.TableView每列的sort设置和AC版的相同,但要手写排序代理方法 2.TableView ...

  10. how tomcat works 总结

    希望各位网友在看完<<how tomcat works>>一书或者鄙人的tomcat专栏文章后再看这篇博客 这里主要是梳理各个章节的核心概念 第一章 一个简单的Web服务器 第 ...