Czy zmiany stylu określone w pseudo stanie, takim jak :hover
, działają po ukończeniu animacji CSS na elemencie?Powinieneś: zawiesić pseudo-stanową zmianę stylu po zakończeniu animacji CSS
EDYCJA: Być może bardziej trafnie, powinienem zapytać: dlaczego zastosowanie "forwardów" w animacji zapobiega zmianie stylu z nadrzędnego?
EDYCJA 2: Okazuje się, że jest to w rzeczywistości problem z przeglądarką. Na przykład. Chrome (używałem wersji 38.0.2125.111) zachowuje się niepoprawnie, ale Firefox obsługuje go zgodnie ze specyfikacją.
Krótka historia: zgodnie ze specyfikacją (cytowane poniżej przez chrona) dodanie do nadpisania !important
powinno spowodować, że styl zostanie wyświetlony. Jednak obecnie tylko Firefox obsługuje to poprawnie.
Tutaj jest redukcja:
@keyframes go {
0% {
background: green;
}
100% {
background: pink;
}
}
@-webkit-keyframes go {
0% {
background: green;
}
100% {
background: pink;
}
}
.box {
animation: go 3s forwards;
-webkit-animation: go 3s forwards;
}
.box:hover {
background: orange!important;
cursor: pointer;
}
<div class="box">Hover states don't work after animation</div>
jestem w stanie znaleźć informacje odnoszące się do tego, nic w ciemno albo: http://www.w3.org/TR/css3-animations/
Ktoś wie, czy a) ten powinien dać? b) jak sprawić, aby stany najechania działały na elemencie po zakończeniu animacji?
tak, niezdolność: hover przesłonić wartość ustawioną przez naprzód było najbardziej ciekawy część dla mnie. –
Będę trzymał oznaczanie jako odpowiedź przez krótką chwilę, na wypadek, gdyby ktoś mógł wydobyć coś oficjalnego, ponieważ wartość 'forward' zapobiega zmianom za pomocą funkcji' hover'. –
Na marginesie: zmodyfikowany fragment ma nieco inne zachowanie w Firefoksie niż ten w pytaniu. Efekt zawieszania koloru tła działa _czasowanie_ animacji w wersji pytania, ale nie do czasu zakończenia animacji w tej wersji. _EDIT: _ Jest to rozwiązane przez cytat w odpowiedzi Chrona, i jak to działa – Izkata