我有这个问题,我的非悬停动画返回到它的正常状态只有一次,之后它的bug显示在下面的gif,不能正常工作。我想有一个替代品,而不是我现在使用的悬停相反,但没有运气找到任何东西。任何建议?
.expanding-button {
width: 7rem;
height: 7rem;
background-color: blue;
color: white;
border-radius: 50%;
cursor: pointer;
transition: all 0.5s ease-in-out;
}
.button__img {
width: 5rem;
height: auto;
transition: all 1s ease-in-out;
}
.expanding-button:hover .button__img {
animation-delay: 1s;
animation: spin 1s forwards, move-left 1s forwards;
transform-origin: center left;
}
.expanding-button:hover {
background-color: darkblue;
width: 700px;
height: 100px;
border-radius: 50px;
}
.expanding-button:not(:hover) .button__img {
animation: move-right 0.5s forwards;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes move-left {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-18rem);
}
}
@keyframes move-right {
0% {
transform: translateX(-18rem);
}
100% {
transform: translateX(0);
}
}
1条答案
按热度按时间tcomlyy61#
只需使用过渡:
按照你的意愿固定你自己的左边和上边的位置,你也可以用flex代替position,这样可以像以前一样保留你的上下文,但是也需要修改你的html。