Привет! Создание такой анимации возможно с использованием CSS-трансформаций и CSS-переходов. Вот обновленный вариант кода, который должен помочь достичь желаемого эффекта:
HTML:
```html
<button class="animated-button">
<span>Текст на кнопке</span>
</button>
```
CSS:
```css
.animated-button {
position: relative;
width: 200px;
height: 50px;
border: none;
background-color: lightblue;
cursor: pointer;
overflow: hidden;
}
.animated-button span {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: transform 0.3s ease-in-out;
}
.animated-button:hover span {
transform: translate(-50%, -200%);
}
.animated-button:hover span:before {
content: "";
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 50px;
background-color: lightblue;
transform-origin: center top;
transform: scaleY(0);
transition: transform 0.3s ease-in-out;
}
.animated-button:hover span:after {
content: "";
position: absolute;
top: 100%;
left: 50%;
width: 2px;
height: 50px;
background-color: lightblue;
transform-origin: center top;
transform: rotate(45deg);
transition: transform 0.3s ease-in-out;
}
.animated-button:hover span:before, .animated-button:hover span:after {
animation: slideIn 0.5s forwards;
}
@keyframes slideIn {
0% {
transform: scaleY(0);
opacity: 0;
}
50% {
opacity: 1;
}
100% {
transform: scaleY(1);
opacity: 1;
}
}
```
Теперь, когда вы используете этот код, текст на кнопке будет анимированно подниматься вверх и затем появляться снизу, прежде чем вернуться в центр.
Вы можете проверить пример работы анимации по ссылке:
[https://codepen.io/example/pen/PoKjXKb](https://codepen.io/example/pen/PoKjXKb)
Пожалуйста, дайте мне знать, если возникнут дополнительные вопросы или есть что-то еще, с чем я могу помочь!