我正试图让这个汉堡菜单(当页面宽度小于865px时可见(滚动,以在屏幕上显示溢出VH的内容,屏幕不够高,无法同时显示整个菜单。根据我的理解,通过为下拉部分本身设置固定的高度,类似calc(100vh - *header-strip-height*)
与overflow-y: scroll;
结合应用于#header_menus
的东西应该可以工作,然而,因为#header_menus
div是顶部条形图的子元素,并且顶部条形图具有定义的高度,设置overflow-y: scroll;
似乎会迫使下拉部分只占据条形图菜单的VH,在条形菜单的范围内滚动,而不是占据整个网站的右侧,在我尝试过的所有解决方案中,我还没有找到不干扰正文相对于页眉的位置的东西,页眉在代码笔中由一个占位符图像表示。
想知道如何允许下拉汉堡菜单在垂直溢出时滚动,而不会以任何方式干扰正文的方式破坏标题布局的建议吗?
https://codepen.io/roomwillow/pen/BaWQoVJ
导航上设置的固定高度引起的问题。
为了处理此问题,您可以在菜单上设置absolute
位置,当视口低于865px时。
因此:
#header_menus {
background-color: black;
padding-right: 1rem;
padding-left: 2rem;
overflow: auto;
position: absolute;
height: calc(100vh - 5.5rem);
top: 5.5rem;
right: 0;
}
一定要添加相对于父项的内容,这样就不会弄乱页面:
#header_right_section {
position: relative;
}
这将使它发挥作用。https://jsfiddle.net/5zjw1b6h/