В надежде создать выпадающее меню, которое будет хорошо выглядеть с использованием CSS3, я разработал его с использованием анимации.Я использовал анимацию вместо перехода, чтобы иметь больше контроля над временем отбрасывания.Я чувствую, что это более эстетично.Однако при использовании анимации поверх перехода возникает проблема, заключающаяся в том, что процесс анимации становится намного сложнее.Мне было интересно, есть ли способ эффективно приостановить анимацию при использовании меню, чтобы она анимировалась в обратном направлении, так же, как при переходе.
Вот идея того, как выглядит CSSсейчас:
@-webkit-keyframes s-menu-down /*Safari and Chrome */ {
0% { width: 100%; height: 0px;}
100% { width: 180px; height: 27px;}
}
@-moz-keyframes s-menu-down /*Firefox */ {
0% { width: 100%; height: 0px;}
100% { width: 180px; height: 27px;}
}
@keyframes s-menu-down {
0% { width: 100%; height: 0px;}
100% { width: 180px; height: 27px;}
}
@-webkit-keyframes s-menu-down-text /*Safari and Chrome */ {
0% { color: rgba(84, 83, 81, .0); text-shadow: none;}
100% { color: rgba(84, 83, 81, 1.0); text-shadow: rgba(238, 238, 238, 1.0);}
}
@-moz-keyframes s-menu-down-text /*Firefox */ {
0% { color: rgba(84, 83, 81, .0); text-shadow: none;}
100% { color: rgba(84, 83, 81, 1.0); text-shadow: rgba(238, 238, 238, 1.0);}
}
@keyframes s-menu-down-text {
0% { color: rgba(84, 83, 81, .0); text-shadow: none;}
100% { color: rgba(84, 83, 81, 1.0); text-shadow: rgba(238, 238, 238, 1.0);}
}
ul#secondary li:hover > ul li {
-webkit-animation: s-menu-down .5s linear 0 2 alternate;
-moz-animation: s-menu-down .5s linear 0 2 alternate;
animation: s-menu-down .5s linear 0 2 alternate;
}
ul#secondary li:hover > ul li a {
-webkit-animation: s-menu-down-text .5s linear 0 2 alternate;
-moz-animation: s-menu-down-text .5s linear 0 2 alternate;
animation: s-menu-down-text .5s linear 0 2 alternate;
}
Установив чередующийся CSS и сделав повтор 2, я могу сделать меню как вверх, так и вниз.Я ищу какое-то решение javascript или что-то еще, чтобы сделать паузу между итерациями, чтобы меню использовалось.