【发布时间】:2015-06-18 20:56:05
【问题描述】:
我有一个元素需要在其全宽的 50% 左右设置动画。
我已经通过以下(简化的)标记完成了这项工作:
<div class="wrapper">
<div class="inner">Inner</div>
</div>
和风格:
.wrapper {
position: relative;
width: 300px;
height: 200px;
}
.inner {
position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
animation: MOVE_AROUND 5s infinite;
}
带关键帧动画:
@keyframes MOVE_AROUND {
0%, 10% { transform: translate3d(0, 0, 0); }
20%, 40% { transform: translate3d(-50%, 0, 0); }
60%, 80% { transform: translate3d(50%, 0, 0); }
90%, 100% { transform: translate3d(0, 0, 0); }
}
注意:为简洁起见,省略了供应商前缀
在 IE10 中,它不是移动元素宽度的 50%,而是在负向移动较小的(任意?)量,然后在正向移动相同的量,然后在动画的 80% 和 90% 之间的阶段,它会捕捉到完整的 50% 距离,然后又回到 0%。
我想这与负百分比有关,但我在其他地方找不到任何关于此的信息。
【问题讨论】:
标签: css internet-explorer-10 css-animations css-transforms