Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在多级弹出菜单中启用某些级别的垂直滚动_Html_Css - Fatal编程技术网

Html 如何在多级弹出菜单中启用某些级别的垂直滚动

Html 如何在多级弹出菜单中启用某些级别的垂直滚动,html,css,Html,Css,我正在创建一个多级弹出式菜单,稍后它将成为daterange选择器的一部分,以便能够选择一段时间。以下是JSFIDLE: 我试图启用overflow-y:auto在.internal list类中,用于处理年度列表的垂直溢出() 然而,这与水平溢出相混淆——内部列表不再可见。添加overflow-x:visible没有帮助 有没有一种方法可以同时实现内部菜单和垂直滚动 我只是想提一下,我是一个后端开发人员,没有什么前端经验,所以我在这里的方法可能完全错误。如果您不想使用javascript来决定

我正在创建一个多级弹出式菜单,稍后它将成为daterange选择器的一部分,以便能够选择一段时间。以下是JSFIDLE:

我试图启用
overflow-y:auto
.internal list
类中,用于处理年度列表的垂直溢出() 然而,这与水平溢出相混淆——内部列表不再可见。添加
overflow-x:visible
没有帮助

有没有一种方法可以同时实现内部菜单和垂直滚动


我只是想提一下,我是一个后端开发人员,没有什么前端经验,所以我在这里的方法可能完全错误。

如果您不想使用javascript来决定“qarter/月份属于哪一年”,一个快速修复方法是相对于视口定位溢出容器的子元素(
位置:固定;
):


编辑

或使用绝对定位,但规则是不要在同一容器上使用
溢出
定位
。为溢出元素创建另一个容器,并将定位移动到该容器中,以便绝对定位的子级不会相对于溢出的父级放置:

您不能设置
overflow-x:visible;
overflow-y:scroll
,因为当您将
overflow-y:
设置为
scroll;
overflow-x
将默认返回自动,这正是浏览器计算溢出的方式,解决方案是将季度列表作为父年度的同级,并使用
年份+季度
用于在悬停状态下显示。溢出信息:感谢您的解释,但是您建议的解决方案并不能真正解决这个问题,因为即使我将季度列表作为年份的兄弟,溢出-y也设置在它们的公共父div上,所以它仍然不能飞到一边。也许您想设置列表我知道这会奏效,但会更尴尬(我知道这并非不可能)获取季度/月份属于哪一年。是的,但我确实需要知道内部周期属于哪一年。我的目标是,单击其中任何一个上的事件都将生成所选周期的开始和结束日期。我相信使用javascript仍然可以,即使内部列表不是特定年份的后代,但我是希望有一个更干净的解决方案。经过一些尝试,我已经找到了一种没有固定位置的方法,并编辑了我的答案。希望它有帮助!是的,谢谢你,这很好。我已经接受了你的答案,因为这是我一直在寻找的。但是,现在内部列表定位到顶部,你不能从元素悬停到内部列表t低于内部列表的高度。您认为positionedchild的top属性可以从其父级的位置计算出来吗?确实,这看起来不太好,一种解决方法是将positionedchild的“top”属性替换为“margin top:-20px;”(或者您知道后的span元素的高度):使用一点jQuery进行修复:Credit to: