最近在用BetterScroll实现一个功能的时候,在滚动区域中会有一个绝对定位的按钮,结果在IOS中出现了快速滚动,停止的时候,会先消失后显现的问题,所以查找了相关的文章,发现是transition的问题,下面是转发的一篇介绍该问题的文章,作为记录,仅供参考。

作者:饶总真坏
链接:https://www.cnblogs.com/raoyunxiao/p/4173254.html
来源:博客园

前段时间,有同事和会员反馈使用Chrome访问淘宝首页会出现画面闪动的现象,但是我在Mac和Win下面的Chrome都无法重现这个问题,后来重装了一遍Win7下的Chrome Beta版本,终于重现了这个问题,正好研究解决下…

问题主要集中于淘宝首页吊顶以及左侧服务栏处,鼠标移过整个页面会闪动一次,Refresh和Reopen无法重现,只有当首次打开淘宝首页才会出现…

问题重现:

如果想查看此问题请访问jsfiddler

问题定位:

我的第一感觉是鼠标移动时触发了某些JS,导致页面重新加载了一遍从而出现闪动,但是使用Chrome控制台监测Network状态,发现页面闪动并不会额外发送请求,这就排除了JS的问题。再检查下这两个地方的CSS源码:

#site-nav .menu-hd b {

-webkit-transition: -webkit-transform .2s ease-in;

} .product-main s {

-webkit-transition: all .2s ease-in-out;

}

上述两个地方都使用了CSS3的Transition属性,那是不是这个Transition导致的问题?由于Refresh和Reopen页面都无法重现,只有当首次打开淘宝首页才会出现,最便捷的办法就是使用FiddlerAuto Responder功能来在线调试代码,于是我尝试将CSS代理到本地并去除-webkit-transition: all .2s ease-in-out;属性,关闭浏览器后再次访问淘宝首页发现问题解决了,反向恢复属性后执行上述操作,Bug再次重现…看来我好像找到原因了,但是为什么是它?

寻找解决方案:

Google关键字“Chrome transition blink”和“Chrome transition bug”发现网上已经有很多人注意到这个问题,推测为Chrome在初始渲染CSS动画时产生的Bug,虽然暂时无法考证这个问题的根本原因,但是目前已知的解决方案有两条:

-webkit-transform:translate3d(0,0,0);  开启硬件加速

最新文章

  1. Android - 设置TextView的字体行间距 - TextView
  2. 简单方便的div垂直居中。
  3. thinkphp在模型中自动完成session赋值
  4. Entity Framework学习笔记——记一个错误解决方式及思路
  5. 【WEB】HTTP协议
  6. Nginx学习笔记(七) 创建子进程
  7. swift 附属脚本
  8. 查询记录时rs.previous()的使用
  9. python selenium自动化(一)点击页面链接测试
  10. Oracle sqlplus 语法
  11. iOS FMDB中的使用
  12. Java 编译打包命令
  13. 小强的HTML5移动开发之路(19)——HTML5 Local Storage(本地存储)
  14. IO处理要注意的事:关闭资源!关闭资源!关闭资源!
  15. 一个ping大包不通问题的解决过程
  16. 03 字符串常用操作方法及For 循环
  17. 【JavaScript 6连载】四、apply和call的用法
  18. 吴裕雄 10-MySQL插入数据
  19. 第五章 Inheritance继承
  20. RavenDb使用

热门文章

  1. AJAX与Django
  2. hadoop环境的安装 和 spark环境的安装
  3. jquery.validate的一个bug
  4. 2020年深度学习DeepLearning技术实战班
  5. cocoapods 安装使用详解
  6. E1.Send Boxes to Alice(Easy Version)//中位数
  7. 【Redis】270- 你需要知道的那些 redis 数据结构
  8. elasticsearch-6.2.4 + kibana-6.2.4-windows-x86_64安装配置
  9. 解密国内BAT等大厂前端技术体系-携程篇(长文建议收藏)
  10. lede install unifi controller