设置下拉菜单的最大高度 page-height

sin*_*nio 5 javascript css

假设您有一个下拉菜单,其中包含许多超出页面高度的选项。我知道我可以用overflow: auto它来滚动,但前提是我将它设置为max-height. 如何设置最大高度以确保元素不会溢出浏览器窗口?

就像这张图片中一样

左边就是现在的样子。下拉菜单溢出页面。右边是它应该的样子——下拉菜单的大小调整为略低于页面高度。

我尝试过设置max-height不同的值,例如45vh下拉列表位于页面的中间位置,但这需要适合所有类型的屏幕尺寸,因此不够灵活。

在这种情况下首选 CSS 解决方案。

小智 2

您可以计算下拉菜单与页面底部之间的当前距离(/sf/answers/535932351/)并使用该值附加样式。

.myDropdown {
  max-height: myDistance;
  overflow: scroll
}
Run Code Online (Sandbox Code Playgroud)

我认为类似的事情是可行的。但是你必须使用一些 JS 来动态获取距离(取决于下拉菜单打开之前的用户屏幕和/或用户滚动......)