【问题标题】:Scrollable dropdown menu with submenus in BootstrapBootstrap 中带有子菜单的可滚动下拉菜单
【发布时间】:2016-11-11 11:08:27
【问题描述】:

我正在尝试使用子菜单实现可滚动的下拉菜单。我使用 this 帖子中的 css 在引导程序 3 中有子菜单。问题是子菜单隐藏在容器内,或者通过容器内的水平滚动条可见。

这是我的http://www.bootply.com/1OsPZq7WJC

供参考,HTML:

  <div class="btn-group">
            <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">Scrollable Menu <span class="caret"></span></button>
            <ul class="dropdown-menu scrollable-menu" role="menu">
                <li><a href="#">Action</a></li>
                <li class="dropdown-submenu"><a href="#">Submenu</a>
                  <ul class="dropdown-menu">
                    <li><a href="#">Action 1</a></li>
                    <li><a href="#">Action 2</a></li>
                    <li><a href="#">Action 3</a></li>
                    <li><a href="#">Action 4</a></li>
                    <li><a href="#">Action 5</a></li>
                    <li><a href="#">Action 7</a></li>
                  </ul>
                </li>
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li class="dropdown-submenu"><a href="#">Submenu</a>
                  <ul class="dropdown-menu">
                    <li><a href="#">Action 1</a></li>
                    <li><a href="#">Action 2</a></li>
                    <li><a href="#">Action 3</a></li>
                    <li><a href="#">Action 4</a></li>
                    <li><a href="#">Action 5</a></li>
                    <li><a href="#">Action 7</a></li>
                  </ul>
                </li>
             </ul>
  </div>

还有 CSS:

.scrollable-menu {
  height: auto;
  max-height: 200px;
  overflow-x: visible;
  overflow-y: scroll;
}

.dropdown-submenu{position:relative;}
.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
.dropdown-submenu:hover>.dropdown-menu{display:block;}
.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;}
.dropdown-submenu:hover>a:after{border-left-color:#ffffff;}
.dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;}

【问题讨论】:

  • 只是给身体增加一些高度。
  • 我认为下拉菜单中的可滚动不会起作用。子菜单是为非滚动父级设计的。
  • Vivek 你找到解决这个问题的方法了吗?
  • 这里有同样的问题..!

标签: css twitter-bootstrap drop-down-menu


【解决方案1】:

除非您定义了特定高度,否则您不能强制页面采用下拉菜单的高度。这是您需要为整个页面高度添加的 css。

body{
  height:100vw;
}

Fiddle.

【讨论】:

  • 子菜单仍然在带有水平滚动条的容器内。这是我想要修复的行为。
  • 您好 Fahad,您是如何解决的?甚至我也在寻找相同的解决方案。
  • 嗨,这个问题有什么解决办法吗?
猜你喜欢
  • 2015-07-14
  • 1970-01-01
  • 2018-05-18
  • 2014-03-22
  • 1970-01-01
  • 2015-12-29
  • 1970-01-01
  • 2012-03-09
  • 2011-12-27
相关资源
最近更新 更多