Javascript Bootstrap 水平多级菜单

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26397017/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-22 22:50:46  来源:igfitidea点击:

Bootstrap Horizontal multilevel Menu

javascripthtmlcsstwitter-bootstrap-3

提问by Jibin Mathew

Is there any way to create a horizontal multilevel menu structure using bootstrap I haven't seen any multilevel menus with Horizontal orientation . If not i have to use some external css and styles to generate this kind of menu . A sample structure of the menu structure is similar to this enter image description here

有什么方法可以使用引导程序创建水平多级菜单结构我还没有看到任何具有 Horizo​​ntalorientation 的多级菜单。如果不是,我必须使用一些外部 css 和样式来生成这种菜单。菜单结构的示例结构与此类似 在此处输入图片说明

回答by Subodh Ghulaxe

<nav class="navbar navbar-default" role="navigation">
  <!-- Brand and toggle get grouped for better mobile display -->
  <div class="navbar-header">
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
      <span class="sr-only">Toggle navigation</span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
    <a class="navbar-brand" href="#">Brand</a>
  </div>

  <!-- Collect the nav links, forms, and other content for toggling -->
  <div class="collapse navbar-collapse navbar-ex1-collapse">
    <ul class="nav navbar-nav">
      <li class="active"><a href="#">Link</a></li>
      <li><a href="#">Link</a></li>
      <li class="root">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Multi Level <b class="caret"></b></a>
        <ul class="dropdown-menu">
          <li><a href="#">Level 1</a></li>
          <li class="dropdown-submenu"> <a tabindex="-1" href="#">More options</a>
              <ul class="dropdown-menu">
                  <li><a tabindex="-1" href="#">Level 2</a>
                  </li>
                  <li class="dropdown-submenu"> <a href="#">More..</a>
                      <ul class="dropdown-menu">
                          <li><a href="#">Level 3</a>
                          </li>
                          <li><a href="#">Level 3</a>
                          </li>
                          <li class="dropdown-submenu"> <a href="#">More..</a>
                              <ul class="dropdown-menu">
                                  <li><a href="#">Level 4</a>
                                  </li>
                                  <li><a href="#">Level 4</a>
                                  </li>
                                  <li class="dropdown-submenu"> <a href="#">More..</a>
                                      <ul class="dropdown-menu">
                                          <li><a href="#">Level 5</a>
                                          </li>
                                          <li><a href="#">Level 5</a>
                                          </li>
                                      </ul>
                                  </li>

                              </ul>
                          </li>

                      </ul>
                  </li>
                  <li><a href="#">Level 2</a>
                  </li>
                  <li><a href="#">Level 2</a>
                  </li>
              </ul>
          </li>
          <li><a href="#">Level 1</a></li>
        </ul>
      </li>
    </ul>
  </div><!-- /.navbar-collapse -->
</nav>

CSS

CSS

.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;
}

.root:hover .dropdown-menu{
    display: block;
}

Some working Jsfiddle examples

一些有效的 Jsfiddle 示例