Es gibt 2 Arten von einem Behälter div in einer Kreisbahn mit CSS bewegenden:
1) Animieren der CSS-Eigenschaft-Transformation:
Das Element, das gedreht werden soll, müssen ein Elternelement Wenn Sie nun das Kind um 60 Grad bewegen möchten, drehen Sie zuerst das Elternteil um 60 Grad und dann drehen Sie das Kind um -60 Grad (ein entgegengesetzter Winkel, so dass das Kind nicht invertiert aussieht).
Verwenden Sie den CSS-Übergang, die CSS-Animation oder die Webanimations-API, um die Animation auszuführen. Über den folgenden Code:
Übergeordnete hat relative Positionierung. Machen Sie es auch kreisförmig, indem Sie gleiche Höhe, Breite, Rand-Radius = 50% geben
Kind hat absolute Position. Es wurde eine Höhe & Breite, oben & links Eigenschaften gegeben, so dass es in der oberen Mitte des Elternteils erscheint.
#parent {
position: relative;
width: 300px;
height: 300px;
border: 1px solid rgba(0,0,0,0.1);
border-radius: 50%;
transform: rotate(0deg);
transition: transform 0.7s linear;
}
#child {
position: absolute;
width: 80px;
height: 80px;
transform: rotate(0deg);
transition: transform 0.7s linear;
top: -40px;
left: 110px;
border: 1px solid black;
}
$("#button").on('click', function() {
$("#parent").css({ transform: 'rotate(60deg)' });
$("#child").css({ transform: 'rotate(-60deg)' });
});
http://usefulangle.com/post/32/moving-an-element-in-circular-path-with-css ist ein Blog-Post, die ich geschrieben habe. Enthält auch eine Demo.
2) Animieren die CSS-Offset-Eigenschaft position:
Mit dem neuen CSS Bewegungspfad oder Offset-Pfad, ist es möglich, ein Element entlang jeden Pfad zu animieren.Ab sofort (Januar 2017) funktioniert es jedoch nur mit der neuesten Version von Chrome.
Sie müssen einen kreisförmigen SVG-Pfad mit Offset-Pfad Eigenschaft definieren. Animieren Sie anschließend die Offset-Distanz-Eigenschaft über diesen Pfad mithilfe von CSS-Übergang, CSS-Animation oder Webanimations-API.
Abgesehen von der Definition eines SVG-Pfads können Sie set offset-path: margin-box angeben. Dies definiert den Pfad als Randgrenze des Elternteils. Wenn das übergeordnete Element kreisförmig mit Rahmenradius erstellt wurde, wird der Pfad ebenfalls kreisförmig sein.
#child {
offset-path: margin-box;
}
Siehe http://usefulangle.com/post/33/moving-element-in-circular-path-with-css-offset-path für den entsprechenden Beitrag Blog in Kreis Animation mit Bewegungspfad zu tun.
Sandeep +1 für diese aber es funktioniert nicht auf Firefox, wie das gleiche Ergebnis auf Firefox erreichen kann .... –
+1 für CSS3! Hinweis: Dies gilt nur für Webkit-Browser. –
Überprüfen Sie meine aktualisierte Geige, die Arbeit in Firefox ist auch – sandeep