我查看下拉菜单here的示例。 Here是简化的jsfiddle示例。我想基于它构建我自己的样式HTML元素。一切都好。但是在我的实现中,我需要将<ul class="dropdown">...</ul>
包装为使用CSS设置的div,如下所示:
border: 2px solid green;
overflow: auto;
在这种情况下,带子菜单的ul stratch这个div(据我所知),这就是滚动条出现的原因。这是simplified jsfiddle example。
但如果使用以下css作为外部div - 一切正常:
border: 2px solid green;
height: 35px;
你能帮助我理解 - 为什么我遇到“溢出:自动”案件的问题?
TIA!
答案 0 :(得分:1)
您不希望为容器提供不可见的溢出,因为这会隐藏您的下拉列表。此外,还有很多浮动,现在可以{@ 1}}支持IE8 +。
我分叉了你的Jsfiddle,并在CSS部分的底部应用了CSS修复。这是你要找的东西:http://jsfiddle.net/rgthree/VFZRB/
答案 1 :(得分:1)
这是因为<ul>
(子菜单)<ul>
中的ul.dropdown ul
样式visibility:hidden
如果您删除了该规则并添加display:none
- 您赢了“看到滚动条,因为visibility:hidden
保留了元素的宽度和高度并隐藏了元素,而display:none
就像从DOM中删除元素一样。希望这有助于你
答案 2 :(得分:1)
#killer{
border: 2px solid red;
overflow: visible;
}
<div id="killer">
<ul class="dropdown">
<li><a href="./" class="dir">Menu</a>
<ul>
<li><a href="/js/">JavaScript</a></li>
<li><a href="/photoshop/">Photoshop</a></li>
<li><a href="/design/">Design</a></li>
<li><a href="/misc/">Other</a></li>
</ul>
</li>
</ul>
<div style="clear:both;"></div>
</div>