2016-08-23 2 views
1

Hallo Ich habe Probleme beim Kombinieren von CSS-Übergang und Animationen zusammen. Die Animation funktioniert, aber wenn ich einen Übergang hinzufüge, funktioniert der Übergang, aber die Animation wird abgebrochen. Wer weiß, wie man sie kombiniert?CSS-Übergang und Animationen zusammen kombinieren?

Hier ist meine CSS:

.circle-spin { 
    transition: all 1s ease; 
} 

.circle-spin-reverse { 
    transition: all 1s ease; 
} 

.success li:hover .circle-spin-reverse { 
    animation:spin-reverse 10s linear infinite; 
    /* the above works until i add the transition below */ 

    transform:scale(1.25); 
} 

.success li:hover .circle-spin { 
    animation:spin 10s linear infinite; 
    /* the above works until i add the transition below */ 

    transform:scale(1.25); 
} 

@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } } 
@keyframes spin-reverse { 100% { -webkit-transform: rotate(360deg); transform:rotate(-360deg); } } 

Sorry, ich weiß, dass es eine Menge Code ist, aber das ist das absolute Minimum Code für diese Frage benötigt.

Dank

+0

Animationen benötigen keinen Übergang zum Arbeiten. Versuchen Sie auch, alle browserspezifischen Definitionen in Ihrem Beispiel hier zu entfernen, da sie etwa die 5-fache Menge an Code benötigen. Darüber hinaus haben Sie Ihren HTML-Code nicht veröffentlicht. –

+0

danke für den Vorschlag, ich bearbeitete meinen Code, um es kürzer zu machen –

Antwort

2

Es ist dazu führen, dass verwandeln

/* in :hover */ 
transform:scale(1.25); 

Überschreibungen in animaton

/* in animation */ 
transform:rotate(360deg); 

Sie haben zu trennen Transformationen auf verschiedene Elemente verwandeln. Siehe my codepen.

+0

danke dir, das war das Problem –

Verwandte Themen