divを使って無限シンボルアニメーションを作りたいです。これを実現するには、div でどのようなアニメーションを実行する必要がありますか。
前もって感謝します!
divを使って無限シンボルアニメーションを作りたいです。これを実現するには、div でどのようなアニメーションを実行する必要がありますか。
前もって感謝します!
別のアプローチを試みました。まだCSS3アニメーションだけです。
軌道に沿って 2 回走る 2 つのボール。1 つは時計回り、もう 1 つは反時計回りです。両方のオービット (div) はシームレスに隣接して配置されます。最初の 1 匹が走り終えるまで、もう 1 匹は隠されています。途中で出会うと、1匹目は隠れ、2匹目は走り出します。
<div id="left"></div>
<div id="right"></div>
https://jsfiddle.net/leymannx/LWk74/ Chrome 31、Firefox 26、Safari 7、IE 10 & 11 でテスト済み (フィドルに組み込まれたクロスブラウザー互換性)
#left {
width: 10px;
height: 10px;
background-color: black;
border-radius: 40px;
position: absolute;
top: 150px;
left: 150px;
animation: animationLeft 5s linear infinite;
}
#right {
width: 10px;
height: 10px;
background-color: black;
border-radius: 40px;
position: absolute;
top: 150px;
left: 350px;
animation: animationRight 5s linear infinite;
}
@keyframes animationLeft {
0% { transform: rotate(0deg) translateX(100px); }
50% { transform: rotate(360deg) translateX(100px); visibility: hidden; }
100% { transform: rotate(360deg) translateX(100px); visibility: hidden; }
}
@keyframes animationRight {
0% { transform: rotate(-180deg) translateX(100px); visibility: hidden; }
50% { transform: rotate(180deg) translateX(100px); visibility: hidden; }
100% { transform: rotate(-180deg) translateX(100px); }
}
惑星で例示された円形パスのアニメーション化の詳細については、こちらを参照してください。またrotate(360deg)
、translateX(100px)
非常によく説明されています。
そこで、3 つの選択肢があります。1つは、基本的にドットのサイズに応じて原点を右側に変換し、360度回転させ、回転が完了すると元の画像の左側に原点を変換し、反時計回りに0度回転させることです。そのためのペンです。まだ少しぎくしゃくしていますが、私はそれに取り組んでいます。
2 番目のオプションは少し複雑ですが、より良いアニメーションが得られます。そのための 4 つのステップ。
3 つ目はさらに複雑で、css だけでは実現できません。JavaScript を使用する必要があります。あなたができることは、レムニスケートとも呼ばれる無限大記号の方程式を実際に考え出し、現在の位置を基準にして位置を計算し、それをアニメーション化することです。