隐藏后,Chrome不会重绘<div>

bre*_*ine 26 css browser google-chrome redraw

我有一些div在悬停时显示,然后被隐藏.但是,在Chrome(19.0.1084.56 m,Windows XP)中,当您取消悬停时,Chrome不会重绘它们,直到您执行滚动或调整窗口大小等操作.

http://jsfiddle.net/y7NdR/3/

我知道对我的CSS的某些修改将解决问题,例如删除positionor z-indexoverflow属性,但我真的不想这样做 - JSfiddle从我需要它们的完整站点配对.

任何人都可以清楚地知道为什么Chrome中会出现这种重绘问题?有没有人有任何提示来修复它而不会搞乱我需要的CSS?

thi*_*dot 38

显然,这是一个WebKit错误.

我发现添加-webkit-transform: scale3d(1,1,1);修复它:

http://jsfiddle.net/thirtydot/y7NdR/5/

我不确定此修复程序是否有任何缺点.我想这很有效,因为在WebKit中,不同的代码用于渲染3D变换.

  • 有趣的是这是如何工作而不是`-webkit-transform:translate3d(0,0,0);`.当Chrome是新的IE时,为了正常工作需要黑客攻击的世界是什么样的:( (2认同)