我不知道如何完美地提出我的问题,所以我做了一个(快速)示例,因此将完全说明我的问题:http://jsfiddle.net/kn5GT/1/
如果最后一项位于底部附近并将其悬停,则子菜单将显示为另一项,但这将扩展页面的高度,从而显示浏览器的垂直滚动条。
我想避免这种情况,通过所有下拉菜单来扩展页面的高度,不是从向上显示,而是从底部显示(子菜单的底部将接近结尾)。
这只能在CSS中使用,还是必须在其中加入一些js?
答案 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个子菜单从底部而不是从顶部弹出。