Google chrome Chrome中的悬停状态和过渡-一个元素上的多个动画不适用

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

当我在鼠标悬停时在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;

}
.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中关闭这些动画,这样它们就不会相互干扰。