CSS3-Keyframe-Aninationen bei mouseout rückgängig machen?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet
möchte ihr allerdings auch, dass sie sobald die Maus den Navigationsbereich(<nav>) wieder verlässt die Animationen wieder rückwärts ablaufen

Dann musst du dafür 3 weitere Keyframes definieren, die die Animation "rückwärts" ablaufen lassen.

Alex


Master643 
Beitragsersteller
 08.08.2022, 10:11

Okay, aber reicht nicht auch ein einfaches

animation-direction: reverse;

?

EinAlexander  08.08.2022, 10:19
@Master643
animation-direction: reverse;

geht auch. Dann definierst du .strich mit reverse und .strich:hover mit forward.

Master643 
Beitragsersteller
 08.08.2022, 10:45
@EinAlexander
und so:
nav #strich1 {
    animation: strich1 0.5s ease-out 0s 1 reverse forwards;
}
...
Hat allerdings beides nicht den gewünschten Effekt gebracht.

Hab ich ja auch versucht, hat aber nicht funktioniert.

EinAlexander  08.08.2022, 10:46
@Master643
Hab ich ja auch versucht, hat aber nicht funktioniert.

wie genau definierst du "hat nicht funktioniert"?

Master643 
Beitragsersteller
 08.08.2022, 11:22
@EinAlexander

Das zu animierende Zeichen springt auf einmal ohne Animation in den Endzustand. Sowohl wenn ich die Maus über die Navigationsleiste ziehe, als auch wenn sich sie wieder rausziehe.

EinAlexander  08.08.2022, 11:55
@Master643
Das zu animierende Zeichen springt auf einmal ohne Animation in den Endzustand

Natürlich nicht, weil du ja keine Animation dafür festgelegt hast. Du musst eine Navigation für den :hover und für den nicht :hover festlegen:

<style>
nav:hover #strich1 {
   animation: strich1 0.5s ease-out 0s 1 normal forwards;
}

nav #strich1 {
   animation: strich1zurueck 0.5s ease-out 0s 1 normal forwards;
}

@keyframes strich1 {
   from {
       transform: rotate(0deg);
       width: 24px;
   }
   to {
       transform: rotate(45deg);
       width: 30px;
   }
}
Master643 
Beitragsersteller
 08.08.2022, 12:01
@EinAlexander

Ach so, ich verstehe zwar nicht warum das mit animation-direction: reverse; nicht funktioniert, aber danke 😊.