Должны ли изменения стиля, указанные в псевдо-состоянии, такие как :hover
работать после того, как анимация CSS завершила работу над элементом?
EDIT: возможно, более уместно, я должен спросить: почему применение "форвардов" в анимации предотвращает переопределение более определенного стиля?
РЕДАКТИРОВАТЬ 2: Оказывается, это на самом деле проблема с перекрестным браузером. Например. Chrome (я запускал версию 38.0.2125.111) ведет себя некорректно, но Firefox обрабатывает его по спецификациям.
Короче говоря: согласно спецификациям (как указано в chrona ниже) добавление !important
к переопределению должно отображать стиль. Однако в настоящее время это правильно обрабатывает только Firefox.
Вот сокращение:
@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>