我正在处理的网页有问题。在 Firefox 上它似乎没有任何问题。
我有 2 个元素,水平滚动,带有背景图像,这两个元素之间的过渡是使用 CSS3 制作的,
transformX()
。首先,这两个元素重叠(以便您可以看到第二个元素的背景图像),当您单击向右箭头时,第二个元素从右向左滑动在前面。当您单击右侧时,第一个元素从左向右滑动
当我回到第一个元素时,第二个元素闪烁,就像重新排列它的位置一样。
.first-container.first-container1 {
background: transparent url('../img/backgrounds/first1-background.jpg') no-repeat center center;
background-size: cover;
left: 0;
}
.first-container.first-container2 {
background: transparent url('../img/backgrounds/first2-background.jpg') no-repeat center center;
background-size: cover;
left: 100%;
}
.bs-first .first1 .first-container.first-container2 {
-webkit-transform: translateX(-8.5%);
-moz-transform: translateX(-8.5%);
-o-transform: translateX(-8.5%);
-ms-transform: translateX(-8.5%);
transform: translateX(-8.5%);
}
.first2 .first-container.first-container1 {
-webkit-transform: translateX(8.5%);
-moz-transform: translateX(8.5%);
-o-transform: translateX(8.5%);
-ms-transform: translateX(8.5%);
transform: translateX(8.5%);
z-index: 9;
}
我真的可以使用一些提示来解决这个问题。谢谢!
您可以尝试将
-webkit-backface-visibility: hidden;
应用于已应用css变换的元素。
在你的情况下,如果你使用的是背景图片,它不会工作,所以只需创建一个类并像这样应用它:
.stop-flickering {-webkit-transform:translate3d(0,0,0);}
你也可以试试:
-webkit-transform-style: preserve-3d;
就我而言,这些方法都不起作用:
-webkit-transform:translate3d(0,0,0);
-webkit-backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
我在一个空的 div 上有一个动画来创建弹跳圆圈,解决方案是使用伪元素
:before
闪烁消失了
我在正在转换的 div 中有一个图像(react-zoom-pan-pinch)以某种方式在图像本身而不是 div 上设置
-webkit-transform:translate3d(0,0,0);
即使图像没有转换也有帮助。之后还必须添加z-index: -1
以使其落后于其他元素。