gpt4 book ai didi

CSS3 div 在悬停时移动而不是缓出

转载 作者:搜寻专家 更新时间:2023-10-31 22:14:14 28 4
gpt4 key购买 nike

好吧,问题来了:我用三个菜单项制作了这个简单的菜单,每次我将鼠标悬停在它上面时我都想将每个 div 移动到右边(简单,对吧?不幸的是...)

虽然它执行了缓入动画,但它根本不会执行缓出动画,结果不是流畅的,而是 block 状的,一点也不酷。

我也在网上和 StackOverflow 上进行了搜索,并应用了所做的所有修复/建议,但我无法使其正常工作。

这是代码(例如,在 jsFiddle 上尝试)

HTML:

<div id="menu-container">
<div class="menu1">Menu 01</div>
<div class="menu2">Menu 02</div>
<div class="menu3">Menu 03</div>
</div>

CSS:

#menu-container div{
height: 30px;
width: 200px;
border:1px solid #999;
background-color:#222;
color:#ccc;
left: 0;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}

#menu-container div:hover{
position: relative;
color:#fff;
background-color:#333333;
left: 20px;
padding-left: -20px;
}

#menu-container div.menu1:hover{
border-color: red;
}

#menu-container div.menu2:hover{
border-color: blue;
}

#menu-container div.menu3:hover{
border-color: green;
}

我做错了什么?有办法解决吗?

提前致谢

最佳答案

这是因为 div 在悬停时只是 position: relative,这是不可动画的。 left 的动画效果在切换回 position: static 时丢失。只需将 position: relative 添加到未悬停的样式即可。

http://jsfiddle.net/Pre5p/

关于CSS3 div 在悬停时移动而不是缓出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346800/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com