请参阅此JsFiddle上的绿色菜单:尝试悬停绿色菜单
以下是相关的CSS代码:
section#base-layer section#base-layer-contact-bar {
position: absolute;
box-sizing: border-box;
top: 60px;
right: -90px;
width: 150px;
height: calc(100% - 60px);
transform: translate3d(0, 0, 0);
transition: transform 0.6s ease-in;
background-color: green;
}
section#base-layer section#base-layer-contact-bar:hover {
transform: translate3d(-90px, 0, 0);
transition-delay: 1s;
}
要重现:在动画处于初始状态时将鼠标移出绿色部分,即在它到达完全扩展名之前。
注意我在ubuntu上使用Chrome v45。
答案 0 :(得分:1)
起初我无法重现你的问题。
唯一可靠的方法是当我对小提琴进行更改并点击run
时,跳跃开始发生。
当你来到一个"新鲜"加载(重新加载页面),跳转没有发生。或者非常偶尔,如果你一直快速移动鼠标(不正常的用户行为)。
所以我猜想在将更改应用到CSS时可能会出现此问题,但否则不会发生这种情况。
我希望这会有所帮助:)
答案 1 :(得分:0)
以下适用于我。我只是删除了transform: translate3d(0, 0, 0)
上的#base-layer-contact-bar
。
请参阅:https://jsfiddle.net/wuacxfn1/1/
section#base-layer section#base-layer-contact-bar {
position: absolute;
box-sizing: border-box;
top: 60px;
right: -90px;
width: 150px;
height: calc(100% - 60px);
/* transform: translate3d(0, 0, 0); < remove this */
transition: transform 0.6s ease-in;
background-color: green;
}
问题是我真的不知道为什么它有效!也许比我聪明的人可以给我们答案?
FWIW,this version使用translateX
也适用于我。您的里程可能会有所不同。