html - 动画元素上的 CSS 悬停变换
问题描述
我正在尝试执行一个简单的 CSS 转换:hover
- 这通常是一项简单的任务,但我正在尝试在动画 div 元素上执行此操作。元素在 Y 轴上无限动画,使用简单的 CSS 动画@keyframes{}
,但是当我尝试将鼠标悬停在元素上时没有任何反应。
如果我在悬停代码上使用它,我可以让它工作,但是转换/缩放会立即发生,而不是使用我应用于类的 300ms 属性。!important
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>
解决方案
考虑另一个包装器:
.box {
width: 50%;
animation: box-move 1s infinite alternate-reverse;
}
.box> div {
border: solid 3px #555;
transition: transform 300ms;
transform-origin:top left;
}
.box:hover > div {
transform: scale(1.2);
}
@keyframes box-move {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-5px);
}
}
<div class="box"><div>I'm a box. I move up and down, but I don't scale nicely when hovered like I should :(</div></div>
推荐阅读
- javascript - 与 mongoDB(和 mongoose)的 Promise 链接。如果已发送响应,如何在 .then() 之后使用 .save() 并正确突破承诺链?
- arrays - 使用下划线对数组项进行分组
- python - 与过滤器一起使用时,正则表达式子不起作用
- postgresql - Postgres CASE 表达式 ELSE 子句即使在子句“真”时也会影响性能
- reactjs - 学习者问题:为什么在编写 Typescript/React 时需要使用单独的 props 文件?
- python - Python3.8 在导入任何东西时都会导入 _io
- css - 跨平台的风格差异(Windows 和 OSX)
- user-interface - 使 SliverAppBar 具有图像作为背景而不是颜色
- github-actions - 如何在 Github Actions 中查看已取消步骤的日志?
- google-iap - 无法从 Cloud Tasks HTTP 请求向 Cloud IAP 后端进行身份验证