Bootstrap Drowdown没有关闭

时间:2017-02-10 13:59:11

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

在下面的示例中,我有两个问题:

1。我正在使用collapse&的混合物drop-down显示子菜单。但是在这个例子中我有一个问题,当另一个子菜单打开时,我的子菜单不会自动关闭。

我不确定这种效果是否来自bs下拉列表。我用手风琴和数据父母测试了一些东西,但这并没有解决问题。

有没有外部JavaScript的解决方案?仅使用Bootstrap原生JS组件?

2。在狭窄的屏幕上,菜单会崩溃,但如果下拉菜单直接显示在菜单项下而不是ul的末尾,则会更好。

<script src="https://code.jquery.com/jquery-3.1.1.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />

<nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mynavbar" aria-expanded="false">
        <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="brand" href="#">
        <span><img class="logo img-rounded" src="https://placeholdit.imgix.net/~text?txtsize=15&txt=Logo&w=100&h=100" alt="Logo"></span>
        <span class="xs-hidden">Brand</span>
      </a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="mynavbar">
      <div class="clearfix">
        <ul class="nav navbar-nav navbar-right">
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="collapse" data-target="#section-a" aria-expanded="false" aria-controls="section-a">Section A <span class="caret"></span></a>
          </li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="collapse" data-target="#section-b" aria-expanded="false" aria-controls="section-b">Section B <span class="caret"></span></a>
          </li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="collapse" data-target="#section-c" aria-expanded="false" aria-controls="section-c">Section C <span class="caret"></span></a>
          </li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="collapse" data-target="#section-d" aria-expanded="false" aria-controls="section-d">Section D <span class="caret"></span></a>
          </li>
        </ul>
      </div>
      <div class="collapsible-menu">
        <div class="collapse" id="section-a">
          <ul class="nav nav-tabs nav-justified">
            <li><a href="#">Item A.1</a>
            </li>
            <li><a href="#">Item A.1</a>
            </li>
            <li><a href="#">Item A.2</a>
            </li>
            <li><a href="#">Item A.3</a>
            </li>
            <li><a href="#">Item A.4</a>
            </li>
            <li><a href="#">Item A.5</a>
            </li>
          </ul>
        </div>
      </div>
      <div class="collapsible-menu">
        <div class="collapse" id="section-b">
          <ul class="nav nav-tabs nav-justified">
            <li><a href="#">Item B.1t</a>
            </li>
            <li><a href="#">Item B.2</a>
            </li>
            <li><a href="#">Item B.3</a>
            </li>
          </ul>
        </div>
      </div>
      <div class="collapsible-menu">
        <div class="collapse" id="section-c">
          <ul class="nav nav-tabs nav-justified">
            <li><a href="#">Item C.1</a>
            </li>
            <li><a href="#">Item C.2</a>
            </li>
            <li><a href="#">Item C.3</a>
            </li>
            <li><a href="#">Item C.4</a>
            </li>
          </ul>
        </div>
      </div>
      <div class="collapsible-menu">
        <div class="collapse" id="section-d">
          <ul class="nav nav-tabs nav-justified">
            <li><a href="#">Item D.1</a>
            </li>
            <li><a href="#">Item D.2</a>
            </li>
            <li><a href="#">Item D.3</a>
            </li>
          </ul>
        </div>
      </div>
    </div>
    <!-- /.navbar-collapse -->
  </div>
  <!-- /.container-fluid -->
</nav>

1 个答案:

答案 0 :(得分:0)

好的,找到了自己的答案 - 只是想关闭这个帖子并展示解决方案:

/* Navbar Layout */
.navbar {
	color: #000;
	background-color: #fff;
	margin-bottom:0px;
	border: 0px;
	border-bottom: 8px solid #c00;
}

/* Navbar Submenu Layout */
.mega-dropdown {
  position: static !important;
}
.mega-dropdown-menu {
	min-height: 50px;
    width: 100%;
    box-shadow: none;
    -webkit-box-shadow: none;
	border-radius: 0px;
	border: 0px;
	border-bottom: 8px solid #c00;
}
.mega-dropdown-menu > li > ul {
  padding: 0;
  margin: 1px;
}
.mega-dropdown-menu > li > ul > li {
  list-style: none;
  padding: 15px 0px;
}
.mega-dropdown-menu > li > ul > li > a {
  display: block;
  color: #222;
  padding: 3px 5px;
}
.mega-dropdown-menu > li ul > li > a:hover,
.mega-dropdown-menu > li ul > li > a:focus {
	color: #c00;
	text-decoration: none;
}
.mega-dropdown-menu .dropdown-header {
  font-size: 18px;
  color: #ff3546;
  padding: 5px 60px 5px 5px;
  line-height: 30px;
}
<script src="https://code.jquery.com/jquery-3.1.1.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />

<nav class="navbar navbar-default">
	<div class="container-fluid">
		<!-- Brand and toggle get grouped for better mobile display -->
		<div class="navbar-header">
			<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
				<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="brand" href="<?php echo $Site->url() ?>">
				<span><img class="img-rounded" src="https://placeholdit.imgix.net/~text?txtsize=12&txt=Logo&w=50&h=50" alt="Logo"></span>
				<span>Brand</span>
			</a>
		</div>

		<!-- Collect the nav links, forms, and other content for toggling -->
		<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
			<ul class="nav navbar-nav navbar-right">
				<li class="dropdown mega-dropdown">
					<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Section A</a>
					<ul class="dropdown-menu mega-dropdown-menu">
						<li class="col-sm-2"><a href="/verein/vorstand">Submenu 1</a></li>
						<li class="col-sm-2"><a href="/verein/mitgliedschaft">Submenu 2</a></li>
						<li class="col-sm-2"><a href="/verein/trainingsplan">Submenu 3</a></li>
						<li class="col-sm-2"><a href="/verein/ansprechpartner">Submenu 4</a></li>
						<li class="col-sm-2"><a href="/verein/anfahrt">Submenu 5</a></li>
						<li class="col-sm-2"><a href="/verein/sonstiges">Submenu 6</a></li>
					</ul>		
				</li>
				<li class="dropdown mega-dropdown">
					<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Section B</a>
					<ul class="dropdown-menu mega-dropdown-menu">
						<li class="col-sm-4"><a href="#">Submenu 1</a></li>
						<li class="col-sm-4"><a href="#">Submenu 2</a></li>
						<li class="col-sm-4"><a href="#">Submenu 3</a></li>
					</ul>		
				</li>
				<li class="dropdown mega-dropdown">
					<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Section C</a>
					<ul class="dropdown-menu mega-dropdown-menu">
						<li class="col-sm-3"><a href="#">Submenu 1</a></li>
						<li class="col-sm-3"><a href="#">Submenu 2</a></li>
						<li class="col-sm-3"><a href="#">Submenu 3</a></li>
						<li class="col-sm-3"><a href="#">Submenu 4</a></li>
					</ul>		
				</li>
				<li class="dropdown mega-dropdown">
					<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Section D</a>
					<ul class="dropdown-menu mega-dropdown-menu">
						<li class="col-sm-4"><a href="#">Submenu 1</a></li>
						<li class="col-sm-4"><a href="#">Submenu 2</a></li>
						<li class="col-sm-4"><a href="#">Submenu 3</a></li>
					</ul>		
				</li>
			</ul>
		</div><!-- /.navbar-collapse -->
	</div><!-- /.container-fluid -->
</nav>