一行css代码word-break:break-all,导致页面layout时间增加至少10秒

近期遇到个问题,用的xheditor编辑器,图片是base64解码直接存库里的,但每次编辑的时候,只要带有图片,页面加载非常慢

通过chrome的timeline录像,发现耗时在layout上



 

 google上胡乱搜了一把,定位到影响layout的要么是css,要么是js,主要是改变了页面布局或元素大小,页面就会重新layout。根据代码排除法,定位到是css导致的layout时间增长。

最后还是通过排除法,一个个文件的排除,定位到了具体的css文件。然后继续排除法,根据页面用到的该css文件的属性,定位到了导致问题的代码,就是这一行css:

word-break:break-all;

 

word-break是告诉浏览器单词截断的方式,break-all即对应的方式,具体看这篇文章:http://www.cnblogs.com/2050/archive/2012/08/10/2632256.html

 

为什么这一行代码引起layout增加这么长时间的原因我还不太清楚,我猜测是由于xheditor在将base64解码后的图片重新编码成图片形式时,由于base64解码后的图片是N多行字符,加上word-break要对每一行进行截断,于是每行后都要重新布局,导致图片大了之后,layout时间特别长

 

修复方式:不用word-break:break-all;的方式,改用word-wrap: break-word;

效果不会差太多。



 

 

改完之后,layout时间大幅缩短
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值