【发布时间】:2020-06-26 04:00:36
【问题描述】:
我正在尝试对:hover 执行简单的 CSS 转换 — 这通常显然是一项简单的任务,但我正在尝试在动画 div 元素上执行此操作。使用@keyframes{} 的简单 CSS 动画在 Y 轴上无限动画化该元素,但是当我尝试将鼠标悬停在该元素上时没有任何反应。
如果我在悬停代码上使用!important,我可以将其完成种类的工作,但转换/缩放会立即发生,而不是使用我应用的 300 毫秒 transition 属性到.box 类。
我是否遗漏了一些明显的东西,或者这不可能?本质上,我只希望元素使用transition 效果和时间在悬停时缩放,然后在未悬停时恢复它的原始动画。谢谢
.box {
width: 50%;
border: solid 3px #555;
animation: box-move 1s infinite alternate-reverse;
transition: transform 300ms;
}
.box:hover {
transform: scale(1.2);
}
@keyframes box-move {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-5px);
}
}
<div class="box">I'm a box. I move up and down, but I don't scale nicely when hovered like I should :(</div>
【问题讨论】:
-
在应用缩放变换的地方添加另一个包装器
-
@TemaniAfif 想法很聪明,但由于某种原因,这会在变换原点产生一个奇怪的问题,并且它会在看起来有问题的奇怪方向上缩放/移动。不过还是谢谢
标签: html css css-animations css-transforms