Я разработчик, поэтому CSS не моя сильная сторона и анимации определенно не так.Css анимация не работает как она должна
Однако я пытаюсь создать простую анимацию - которая в настоящее время работает в какой-то степени - только не так, как мне это нужно, чтобы:
&:before
{
background-color:rgba(255,255,255,0.3);
height:100%;
transform:scale(0);
width:100%;
}
&:hover, &:focus, &:active
{
&::before
{
.animation(ripple .4s ease-out);
.keyframes(ripple;
{
100%
{
.transform(scale(1));
}
});
}
}
Идея заключается в том, что при наведении курсора мыши, фокус, или активных состояний фоновая шкала выходит из центра - это и есть.
Однако, когда анимация завершена - и размер фона полностью, он возвращается в исходное состояние (исчезает), пока все еще находится в режиме наведения.
Какие изменения необходимо сделать для обеспечения того, чтобы фон оставался видимым во время фокусировки?
Попробуйте добавить режим анимации-заливки: вперед, чтобы анимация сохранила состояние на последнем ключевом кадре. Более того, для этого случая вам лучше использовать 'переход' вместо' анимации'. – Harry
@ Харри - отлично это работает в вопросе, который я задал, но как только фокус удаляется, фон просто исчезает. Можно ли отменить его так же, как и поэтапно - другими словами, масштабирование от 1 до 0? –
Да, я ожидал, что именно здесь «переход» помогает вместо анимации. Transition обеспечивает двухстороннюю операцию по умолчанию, тогда как «анимация» не работает. Взгляните на [этот ответ] (http://stackoverflow.com/questions/26103506/css3-animation-on-link-hover-not-working-properly/26103639#26103639) и [этот] (http:// /stackoverflow.com/questions/30450535/css-animation-working-adding-class-but-not-removing-the-class/30451747#30451747). – Harry