【踩坑】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,等修复就好
【踩坑】iconfont使用异常bug的更多相关文章
- .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 ...
- 【bug记录】OS Lab4 踩坑记
OS Lab4 踩坑记 Lab4在之前Lab3的基础上,增加了系统调用,难度增加了很多.而且加上注释不详细,开玩笑的指导书,自己做起来困难较大.也遇到了大大小小的bug,调试了一整天. 本文记录笔者在 ...
- 【bug记录】OS Lab3 踩坑记
OS Lab3 踩坑记 Lab3在之前Lab2的基础上,增加了进程建立.调度和中断异常处理.其中测试包括进程建立以及进程调度部分. 由于是第一次做bug记录,而且是调试完bug后再做的记录,所以导致记 ...
- 【踩坑系列】使用long类型处理金额,科学计数法导致金额转大写异常
1. 踩坑经历 上周,一个用户反馈他创建的某个销售单无法打开,但其余销售单都可以正常打开,当时查看了生产环境的ERROR日志,发现抛了这样的异常:java.lang.NumberFormatExcep ...
- 异常记录-Dialog样式踩坑
好久没记录文档了,拖了老半个月,终于空下来时间,为了避免以后踩坑,必须记录记录. 背景: 为activity设置样式为弹窗activity 异常一: activity设置style后,布局不能够正常显 ...
- Spark踩坑填坑-聚合函数-序列化异常
Spark踩坑填坑-聚合函数-序列化异常 一.Spark聚合函数特殊场景 二.spark sql group by 三.Spark Caused by: java.io.NotSerializable ...
- 【踩坑】360安全浏览器“极速模式”和“兼容模式”,套路还是bug?
分享踩坑点: 项目中需要兼容360安全浏览器,大家当然都希望用极速模式打开网站,但是发现总是被兼容模式打开 网址类似 aa.xx.dd.com 网上找了很多地方,有以下两种方法 1.<meta ...
- Spark 1.6升级2.x防踩坑指南
原创文章,谢绝转载 Spark 2.x自2.0.0发布到目前的2.2.0已经有一年多的时间了,2.x宣称有诸多的性能改进,相信不少使用Spark的同学还停留在1.6.x或者更低的版本上,没有升级到2. ...
- 『OGG 02』Win7 配置 Oracle GoldenGate Adapter Java 踩坑指南
上一文章 <__Win7 配置OGG(Oracle GoldenGate).docx>定下了 两个目标: 目标1: 给安装的Oracle_11g 创建 两个用户 admin 和 root ...
随机推荐
- Oracle中job的实例
一.Oracle定时器(Job)各时间段写法汇总 对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等 ...
- rpcz VC2010 构建
rpcz VC2010 构建 rpcz 是应用ZeroMQ和Protobuf开发的RPC. 见: https://github.com/reinferio/rpcz 及 https://code.go ...
- C语言所有作业练习题
2015.08.11 1.计算十进制 42 转换为二进制.八进制.十六进制分别对应的值 2.计算二进制 11010110 对应的十进制值 3.计算八进制 075 对应的十进制值 4.计算十六进制 0x ...
- (三十一)PickerView自定义视图
例如选择国家,左边是名称右边是国家,不应该使用两列,而是自定义PickerView的一列,可以通过xib来实现. 注意,虽然PickerView也是一列,但是数据源方法是@required,所以必须实 ...
- tomcat生产部署关键参数设置
JVM设置 个节点,每个tomcat预计处理500个链接,那么连接池的长连接数最大设为2000. 全节点复制(DeltaManager)模式集群节点数3-6为宜. 主备复制(BackupMnagage ...
- 【62】Spring总结之bean(3)
Spring核心机制:依赖注入 Java应用(从applets的小范围到全套n层服务端企业应用)是一种典型的依赖型应用,它就是由一些互相适当地协作的对象构成的.因此,我们说这些对象间存在依赖关系.加入 ...
- saiku查询出错如何debug(saiku查询过程的本质),以及相关workbench的schema设置
saiku连接infiniDB数据库 1,日期维度无结果. 原因:(数据库表内容出错) 表最后一列(日期字段)匹配出错,用"like %日期%"可以.说明入库时写入多余的空白符,因 ...
- ERP-非财务人员的财务培训教(二)------如何评价公司/部门经营业绩
一.财务比率分析 第一节 流动性比率 第二节 经营比率 第三节 资本结构比率 第四节 获利能力比率 第五节 现金流量比率 第六节 获现能力比率 二.财务比率金字塔 第二部分 如何评价公 ...
- Globalization Guide for Oracle Applications Release 12
Section 1: Overview Section 2: Installing Section 3: Configuring Section 4: Maintaining Section 5: U ...
- 解决水平ListView在ScrollView中出现的滑动冲突
解决的问题有两个: 1)实现水平滑动的ListView.重写AdapterView,上代码: package com.liucanwen.horizontallistview.view; imp ...