如何避免垂直下拉菜单在底部添加垂直滚动条?

时间:2012-07-13 08:22:13

标签: html css css3 drop-down-menu

我不知道如何完美地提出我的问题,所以我做了一个(快速)示例,因此将完全说明我的问题:http://jsfiddle.net/kn5GT/1/

如果最后一项位于底部附近并将其悬停,则子菜单将显示为另一项,但这将扩展页面的高度,从而显示浏览器的垂直滚动条。

我想避免这种情况,通过所有下拉菜单来扩展页面的高度,不是从向上显示,而是从底部显示(子菜单的底部将接近结尾)。

这只能在CSS中使用,还是必须在其中加入一些js?

1 个答案:

答案 0 :(得分:2)

这可能不是最佳解决方案,但您可以通过css-pseudoclass nth-last-of-type()的一些帮助来解决这个问题。

我修改了your fiddle(边界只是为了更好的视觉区别。)

我刚刚添加了以下规则:

ul>li:nth-last-of-type(-n+2)>div {
    top:auto;
    bottom: 50px;
}

不要被奇怪的选择器弄糊涂,基本上(-n+2)使最后2个子菜单​​从底部而不是从顶部弹出。