html - 带有滚动条问题的多级下拉菜单

标签 html css drop-down-menu

因为我有一个很长的菜单列表,我想用滚动来限制它们。

在此codepen demo ,没有滚动也能正常工作。

但是如果我添加 overflow-y:scroll; height:200px;,它会导致 overflow-x 并隐藏所有下拉列表,如下图所示。

with scroll

我找到了这个 smart menu完成这项工作的图书馆。

但我的问题是 - 如果没有图书馆,我怎么能做到这一点?

最佳答案

仅使用 CSS 可能是不可能的。

您真正需要的是 JavaScript。因为没有它,您只是将内部列表的可见性设置为 visibility: hidden 并且在生成 div 或页面。这就是x方向溢出的原因。

仅使用 CSS,您必须设置主列表的恒定宽度以容纳内部列表。

下面是我尝试使用固定宽度的 CSS。将它放在您要添加的 CSS 的位置。所以不是这个:

li.dropdown ul {
  overflow-y: scroll;
  height: 300px;
}

添加这个:

li.dropdown ul {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 300px;
  width: 450px;
}

li {
   width: 100px;
}

关于html - 带有滚动条问题的多级下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58037191/

相关文章:

html - 在 bootstrap v3.0.21 中我在哪里写我的响应样式

html - 垂直居中两个不同高度的并排文本列

html - 缩小窗口时 Bootstrap 相对页脚上升

html - css - 垂直嵌套菜单 - 无法获得正确的嵌套样式,它会形成更大的矩形

jquery - css/jquery 中的移动(触摸)设备友好下拉菜单

javascript - 将 ngTable 行输入数据传递给 ngDialog 输入

HTML 将主要元素分配给一个 id

html - Bootstrap 4 - 截面高度为 100% 的容器

html - 视频作为 html 中的背景

c# - ASP.NET MVC 2 - 如何从下拉列表中获取选定的值到我的 View 模型中?