我能够编写JavaScript旋转木马,并认为这可能是更紧凑使用CSS过渡与nth-child
选择这样的:旋转图像
img {
transition: all 1s linear; /* or corresponding vendor prefixes */
position:absolute;
}
img:nth-child(1) {
top: 0%;
left: 0%;
}
img:nth-child(2) {
top: 0%;
left: 50%;
}
/*and so on...*/
该项目将然后通过旋转追加第一个孩子或预先装入容器的最后一个孩子:
parent.appendChild(parent.children[0]);
此方法适用于除附加元素之外的所有元素。它被完全删除,然后重新连接,所以它结束在正确的位置,但不使用过渡效果。即使在DOM中重新定位元素时,是否可以使用CSS转换?
jsFiddle Demo - 单击该文档以推进图像。
+1有趣的问题。 – pimvdb 2012-01-02 22:12:02
我没有足够的信心回答,但我真的不这么认为。CSS转换在上面的平面上运行,并且独立于DOM元素的组织。您可以使用Javascript为附加动画,或者更好地切换到类(box-1,box-2,box-3,box-4)而不是nth-child,并使用Javascript将每个类增加一下,或者重置为1 if以前在4。 – glortho 2012-01-02 22:14:58