我尝试将div作为链接到另一个子页面的按钮。我给它们设置了动画,以便它们在网站上旋转。现在,我想制作一个缩放按钮的悬停效果。但是似乎它没有被认可。当我注释掉动画时,它就起作用了。有没有办法获得动画和悬停效果?
谢谢!
.animation-links div {
background: #444;
margin: 10px;
text-align: center;
height: 100px;
transform: rotateY(90deg);
transform-origin: center;
}
#animation-1 {
box-sizing: border-box;
background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
background-size: 400%;
animation-name: animated;
animation-duration: 1s;
animation-fill-mode: forwards;
animation-delay: 0.5s;
} animation-delay: 0.5s;
@keyframes animated {
0% {
transform: rotateY(90deg);
}
100% {
transform: rotateY(0);
}
}
}
.animation-links div:hover {
transform: scale(1.10);
}
答案 0 :(得分:0)
这是因为animation-fill-mode: forwards;
如果animation-fill-mode
的值不为null,则动画结束时将不应用css属性值。
因此,我从animation-fill-mode: forwards;
样式规则中删除了#animation-1
,并从transform: rotateY(90deg);
样式规则中删除了.animation-links div
。在花括号之外还设置了一些额外的{
和样式。我也删除了那些。
请参见下面的代码段
.animation-links div {
background: #444;
margin: 10px;
text-align: center;
height: 100px;
transform-origin: center;
}
#animation-1 {
box-sizing: border-box;
background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
background-size: 400%;
animation-name: animated;
animation-duration: 1s;
/*animation-fill-mode: forwards;*/
animation-delay: 0.5s;
transition: transform 1s ease;
}
@keyframes animated {
0% {
transform: rotateY(90deg);
}
100% {
transform: rotateY(0);
}
}
.animation-links div:hover {
transform: scale(2);
}
<div class="animation-links">
<div id="animation-1">Animation 1</div>
</div>
您也可以here对其进行测试。