私は、JavaScriptのカルーセルを書くことができたし、このようなnth-child
セレクタとCSSトランジションを使用するために、よりコンパクトかもしれないと思った:画像の回転
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
私は十分に答えることができませんが、私は本当にそうは思わない。CSSトランジションは、DOM要素の構成とは独立した平面上で動作します。あなたは、Javascriptでappendをアニメーション化することもできますし、nth-childの代わりにクラス(box-1、box-2、box-3、box-4)に切り替えることもできます。以前は4でした。 – glortho