栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Chrome渲染问题。固定式锚栓,主体带UL

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Chrome渲染问题。固定式锚栓,主体带UL

Chrome解决方案:

为我增加

-webkit-transform: translateZ(0)
#sidebar
解决问题的方法。

这些年来,我曾经

translateZ(0)
修复过许多Chrome显示错误。理由是通过调用3D转换,重画与CSS痛苦堆栈的其余部分分开了(我无法提供更多细节,这对我来说几乎就是希腊文)。无论如何,它似乎对我有用!

    #sidebar {        -webkit-transform: translateZ(0);    }

Opera解决方案:

这不是通用解决方案(将根据相关元素的定位要求进行调整)。它通过对可能影响布局的属性(通过CSS动画)强制进行连续重绘(通过CSS动画)(强制计算和渲染其他布局因子,即保持固定的位置)而起作用,但实际上不起作用。在这种情况下,我使用了

margin-bottom
,因为这不会影响您的页面布局(但是Opera并不知道!):

@keyframes noop {  0%   { margin-bottom: 0; }  100% { margin-bottom: 1em; }}#sidebar {    animation: noop 1s infinite;}

注意:
解决方案不是完美的,因为(至少在我的机器上)bug测试用例会导致一分钟的闪烁,因为Opera失去定位并快速重绘。可悲的是,我认为这是您将得到的,因为正如George在他的回答中所说,这是Opera在重绘之间的自然行为-理论上,我的代码使元素的重绘是连续的,但实际上会存在无限的差距。

编辑2 (2013-11-05)
此后,我经常遇到此错误的变体。尽管原始发布者的简化测试用例呈现出完全合法的错误,但大多数情况是在人体上已经存在3D变换(或类似地位于DOM树上方)的情况下发生的。这通常用作强制GPU渲染的黑客手段,但实际上会导致类似这样的讨厌的重画问题。2种无操作3D转换并不正确:如果您在树的上方使用一棵树,请尝试先将其移除,然后再添加另一棵树。

编辑3 (情节中字) 克里斯报告说

translateZ(0)
不会在某些情况下工作
scale3d(1,1,1)
呢。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451981.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号