【发布时间】:2021-09-08 22:16:39
【问题描述】:
有关于the absolute timing precision of CSS transitions 和removing jitter for inexpensive simultaneous transitions 的问题。但是,答案并没有让我清楚地了解动画时间的相对准确性(例如,如果两个同时的动画是“同相”的),尤其是在过渡变得昂贵时。 p>
在处理图像时效果最为明显,例如在this fiddle 中,图像和容器同时朝相反的方向移动,试图将图像保持在相同的绝对位置,但异步导致抖动:
/* CSS */
#container {
position:absolute;
width:200px;
height:200px;
left:200px;
overflow:hidden;
background-position:-200px -150px;
-webkit-backface-visiblity:hidden;
-webkit-transition:all 2s ease-in-out;
-moz-transition:all 2s ease-in-out;
-o-transition:all 2s ease-in-out;
transition:all 2s ease-in-out;
}
/* JS */
$(function() {
$('#container').css('left', 0).css('background-position', '0 -150px');
});
奇怪的是,抖动始终在中性的右侧,这意味着图像动画阶段比容器的稍早。这有点难看,但是将偏移帧与静止的最终帧进行比较,方向偏差是可见的。
有什么方法可以确保两个转换的每一步都同时渲染?
【问题讨论】:
标签: css css-transitions