複数のペインと、それらを切り替えるためのナビゲーション メニューを備えた Web サイトを作成しています。CSS のトランジション効果を使用して、ペインの切り替えをアニメーション化したいと考えています。ペインは <li> 要素です。
<ol class="content">
<li class="pane">This is pane 1.</li>
<li class="pane">This is pane 2.</li>
<li class="pane">This is pane 3.</li>
</ol>
、横に並べて配置されているので、コンテンツの margin-left プロパティをアニメーション化して、ペインを左右にスクロールさせたり、ビューから外したりします。
@-webkit-keyframes scroll1to2 {
from {margin-left: 0%;}
to {margin-left: -100%;}
}
@-webkit-keyframes scroll2to3 {
from {margin-left: -100%;}
to {margin-left: -200%;}
}
@-webkit-keyframes scroll1to3 {
from {margin-left: 0%;}
to {margin-left: -200%;}
}
、もちろん逆にすることもできます。問題は、このプロセスが 3 つ以上のペインでは扱いにくいことです (コードの長さは、ペインの数に応じて二次関数的に増加します)。
それで...任意の数のペインに対してこれをどのように記述しますか?
編集: JavaScript を使用して CSS コードを生成できることは知っていますが、見逃したよりエレガントな方法があることを願っています。