我有一个基本的按钮,最初会为其设置动画。但是一旦动画化,我想在悬停时添加一个新动画;但由于某种原因,它似乎不起作用。
例如:
按钮动画:
.container {
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
max-height: 100%;
overflow: hidden;
}
.slide-btn {
display: flex;
align-items: center;
justify-content: center;
border-radius: 100%;
background-color: #feffff;
box-shadow: 0 2px 20px 0 #686f7638;
margin-top: 10px;
width: 45px;
height: 45px;
animation: testing 1s ease-in forwards;
}
.slide-btn:hover {
transform: scale(1.5);
}
@keyframes testing {
to {
transform: translateX(100px);
}
}
<div class="container">
<div class="slide-btn">></div>
</div>
我的猜测是,对于CSS动画,我正在使用forwards
,但是我确实需要forwards
在那里。
答案 0 :(得分:1)
是的,是因为forwards
使动画覆盖了变换。您可以像下面这样来代替forwards
:
.container {
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
max-height: 100%;
overflow: hidden;
}
.slide-btn {
display: flex;
align-items: center;
justify-content: center;
border-radius: 100%;
background-color: #feffff;
box-shadow: 0 2px 20px 0 #686f7638;
margin-top: 10px;
width: 45px;
height: 45px;
transform: translateX(100px);
transition:0.5s;
animation: testing 1s ease-in;
}
.slide-btn:hover {
transform: translateX(100px) scale(1.5);
}
@keyframes testing {
from {
transform: translateX(0px);
}
}
<div class="container">
<div class="slide-btn">></div>
</div>