Google chrome Chrome中的悬停状态和过渡-一个元素上的多个动画不适用
当我在鼠标悬停时在Chrome(24.0.1312.57)中应用过渡时,它不会在鼠标悬停时更新背景色。看这把小提琴: 代码如下:Google chrome Chrome中的悬停状态和过渡-一个元素上的多个动画不适用,google-chrome,css,webkit,hover,css-transitions,Google Chrome,Css,Webkit,Hover,Css Transitions,当我在鼠标悬停时在Chrome(24.0.1312.57)中应用过渡时,它不会在鼠标悬停时更新背景色。看这把小提琴: 代码如下: .transition{ -webkit-transition: all 500ms ease-in-out; } .wrapper{ width:200px; height:200px; display:block; background-color:cyan; position:relative; } .hove
.transition{
-webkit-transition: all 500ms ease-in-out;
}
.wrapper{
width:200px;
height:200px;
display:block;
background-color:cyan;
position:relative;
}
.hoverme{
border-radius:90px;
display: block;
width:50px;
height:50px;
top:50px;
right:-90px;
position:absolute;
-webkit-transform: rotate(-45deg);
}
.wrapper:hover .hoverme{
-webkit-transform: rotate(0deg);
right:0;
}
.hoverme:hover{
background-color:red;
}
和html:
<div class="wrapper">
<div class="hoverme transition">
Hover me
</div>
</div>
盘旋我
如果悬停.wrapper和.hoverme,然后快速将鼠标移离此框,.hoverme元素将仅设置旋转和位置的动画
在我的网站上,它甚至不刷新悬停状态,所以当动画完成,背景保持:悬停背景颜色。。。由于某些原因,我无法在这里复制
有可能使背景动画化吗?发生这种情况是因为position:absolute in.hoverme 尝试将其更改为位置:相对添加左边距:150px;(或必需)以更正悬停位置。。。像这样:
.hoverme{
border-radius:90px;
display: block;
width:50px;
height:50px;
top:50px;
right:-90px;
position:relative;
margin-left:150px;
-webkit-transform: rotate(-45deg);
}
在这里检查它的作用:发生这种情况是因为位置:绝对in.hoverme 尝试将其更改为位置:相对添加左边距:150px;(或必需)以更正悬停位置。。。像这样:
.hoverme{
border-radius:90px;
display: block;
width:50px;
height:50px;
top:50px;
right:-90px;
position:relative;
margin-left:150px;
-webkit-transform: rotate(-45deg);
}
请在此处查看操作:以确保我得到了您的要求。。。你想在鼠标悬停时立即显示红色圆圈吗?不,当你悬停.wrapper和.hoverme时,它可以正常工作,但是如果你从.wrapper移动鼠标,.hoverme动画只显示位置和旋转,但在动画结束前保持全红色,以确保我得到了你的要求。。。你想在鼠标悬停时立即显示红色圆圈吗?不,当你悬停.wrapper和.hoverme时,它可以正常工作,但是如果你从.wrapper移动鼠标,.hoverme动画只显示位置和旋转,但在动画结束前保持全红色谢谢!你知道为什么会发生这种情况吗?我猜浏览器在动画的每个步骤中都会将div渲染为绝对定位的div,因此,只有当它停止时,才能够使用以下命令进行处理。如果你在移动元素,你不应该绝对定位它们。正如我所想,这不是最好的解决方案。。因为我还有另外一个元素,它们会受到这个盒子相对位置的影响。。为什么绝对元素不应该设置动画?因为它在Firefox中运行得很好。。真的没有解决办法吗?我建议的是可能的解决办法。。。随着时间的推移,事情会产生更多的依赖性,因此很难找到最佳解决方案。我能想到的另一件事是,你可以关闭包装器div中的每个动画,这样它们就不会相互干扰。谢谢!你知道为什么会发生这种情况吗?我猜浏览器在动画的每个步骤中都会将div渲染为绝对定位的div,因此,只有当它停止时,才能够使用以下命令进行处理。如果你在移动元素,你不应该绝对定位它们。正如我所想,这不是最好的解决方案。。因为我还有另外一个元素,它们会受到这个盒子相对位置的影响。。为什么绝对元素不应该设置动画?因为它在Firefox中运行得很好。。真的没有解决办法吗?我建议的是可能的解决办法。。。随着时间的推移,事情会产生更多的依赖性,因此很难找到最佳解决方案。我能想到的另一件事是在包装器div中关闭这些动画,这样它们就不会相互干扰。