【发布时间】:2014-09-16 18:42:14
【问题描述】:
首先是fiddle
只是一个常规的引导下拉菜单,我对 css 进行了一些更改,以便下拉菜单出现在悬停(而不是单击)上,但是我如何想要一个非常简单的淡入淡出动画。我尝试了 css 转换,但它不起作用,因为 .dropdown-menu 元素应用了“显示:无”,悬停时它变为“显示:块”。如何为从“显示:无”变为“显示:块”的元素设置动画,或者是否有任何其他方法可以实现这一点?
我已经用谷歌搜索了这个并找到了一些答案,但他们没有帮助。
HTML 代码:
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul>
</div>
CSS 代码:
.dropdown .dropdown-menu{
opacity: 0;
transition: all 400ms ease;
-moz-transition: all 400ms ease;
-webkit-transition: all 400ms ease;
-o-transition: all 400ms ease;
-ms-transition: all 400ms ease;
}
.dropdown:hover .dropdown-menu {
display: block;
opacity: 1;
}
【问题讨论】:
-
您的下拉菜单似乎已经在悬停时正确淡入/淡出(基于不透明度从 0 变为 1 的过渡)。我增加了淡入淡出时间,所以它更明显。如果您愿意接受该解决方案,也有可用的 jQuery 解决方案。 jsfiddle.net/5zr4r/147
-
@Will:是的,它有效,感谢您的演示,但问题仍然存在,我如何确保它出现在我的演示中?
标签: javascript jquery html css twitter-bootstrap