这种情况发生在Mountain Lion的Safari 6和最新的Chrome中。 (在OSX上确认,可能不会在Windows中发生)
请参阅此页面以获取示例:
http://users.telenet.be/prullen/flicker2.html
快速移动鼠标图像,然后查看下面的文字。你会看到它闪烁/脉动。
相关的CSS如下。我无法对.out
和.in
类进行任何更改。仅限于项目类。
我尝试添加-webkit-backface-visibility:hidden;
,因为我读到了应该修复它的地方,但它没有任何区别。
有没有人有线索?
谢谢, 韦斯利
.out {
position: relative;
display: block;
margin: 0;
border: 0;
padding: 0;
margin-left: auto;
margin-right: auto;
overflow: hidden;
}
.in {
position: relative;
display: block;
margin: 0;
padding: 0;
border: 0;
overflow: hidden;
}
.item {
margin: 60px;
-webkit-transition: -webkit-transform .15s linear;
-moz-transition: -moz-transform .15s linear;
-o-transition: -o-transform .15s linear;
transition: transform .15s linear;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-o-transform-style : preserve-3d;
-ms-transform-style : preserve-3d;
}
.item:hover {
-webkit-transform: scale(1.3) !important;
-moz-transform: scale(1.3) !important;
-o-transform: scale(1.3) !important;
-ms-transform: scale(1.3) !important;
transform: scale(1.3) !important;
}
答案 0 :(得分:31)
我遇到了同样的问题:我想在悬停时缩放元素,当这样做时,页面上的每个文字都会闪烁。我也是最新的Chrome(21.0.1180.89)和OSX Mountain Lion。
实际上,添加
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
受影响的元素确实解决问题。
你说你不能改变.in和.out类,但也许你可以添加另一个(.no-flicker)并在受影响的元素上使用它。
注意:这确实有助于解决Chrome中的问题,但请注意,如果您使用z定位CSS属性进行分层,则可能会导致Safari出现问题。例如,在我的网站上,它导致CSS元素在我试图清理的动画幻灯片放映的幻灯片过渡后面闪烁。
答案 1 :(得分:8)
我有同样的问题,但修复它。 见http://codepen.io/artemmedvedev/pen/uLwvo
只需将.no-flickr
类添加到项目中任何闪烁或闪烁的元素
.no-flickr {
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);
}
答案 2 :(得分:5)
今天早上我遇到了同样的问题,发现最好的解决方法是:
-webkit-transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
我将此添加到构成双面对象的面的两个元素中的每一个。停止了Chrome中的闪烁并修复了Safari中显示的背景。