Glatte CSS Transition Animation Rotation

Erstellt habe ich dieses tüfteln, um das problem zu demonstrieren:

http://jsfiddle.net/NfX56/

Animation-DREHUNG und SCHWEBEN scheint gut zu funktionieren für die Richtung ändern, aber das UMSCHALTEN, wenn ich den Cursor über das Element für den übergang ist sprunghaft und nicht eine glatte Umkehrung der Richtung wie ich es gerne hätte.

Hier ist der basic-code ohne browser-Präfix:

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.spin {
    animation: spin 3.5s linear 0s infinite normal;
    width: 100px;
    height: 100px;
    border-radius: 50px 50px 50px 50px;
    overflow: hidden;
    margin-left: -50px;
    margin-top: -50px;
    top: 50%;
    left: 50%;
    position: absolute;
}
.spin:hover {
    animation: spin 3.5s linear 0s infinite reverse;
}

Habe ich versucht zu spielen, um mit den folgenden:

transition-property: transform;
transition-duration: 0s;
transition-timing-function: ease-in-out;

In einem Versuch, glätten Sie die animation so, dass das symbol glatt umgedreht, aber ich kann nicht ganz scheinen, um es richtig... jede Hilfe wäre toll!

http://jsfiddle.net/NfX56/

  • Was verursacht die snappong Aktion: 0% = 0 und 100% = 360°. Wenn Sie diesen Vorgang umkehren, auf hover-es wird snap um 360°, wie es ist einfach die Umkehrung der keyframes. Das ist, warum, wenn Sie den Mauszeiger über Sie, wenn es an diesem Punkt werden Sie sehen, es ist glatt.
  • Ich habe versucht, ADDNIG: @keyframes spinreverse { 0% { transform: rotate(360deg); } 100% { transform: rotate(0deg); } } UND .spin:hover { animation: spinreverse 3,5 s linear 0s infinite normal; } Jetzt springt er zurück auf die ursprüngliche position... wie bekomme ich eine glatte umgekehrter Richtung wirkt??? habe auch versucht -360deg für die 100% zu Verwandeln, war ein wenig glatter, aber springt immer noch ein bisschen
  • unabhängig der oben genannten Möglichkeiten erlauben nur das symbol, um zu springen zurück in seine ursprüngliche position, das ist glatter, aber nicht glatt in umgekehrter Richtung wie ich möchte... wenn das nicht möglich ist, in CSS ich wäre offen für eine javascript-Lösung....
InformationsquelleAutor Go Nate | 2013-08-01
Schreibe einen Kommentar