2017-02-10 3 views
0

В следующем примере у меня есть две проблемы:Бутстрап просадка не закрывает

1. Я использую смесь collapse & drop-down, чтобы показать подменю, как она есть. Но в этом примере у меня есть проблема, мое подменю не закрывается автоматически, когда открывается другое подменю.

Я не уверен, что этот эффект исходит из выпадающего списка. Я тестировал что-то с аккордеонами и родителями данных, но это не решает проблему.

Есть ли решение без внешнего javascript? Только с исходными компонентами JS Bootstrap?

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>

ответ

0

Хорошо, нашел себе ответ - просто хотел, чтобы закрыть эту тему и показать решение:

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

 
/* Navbar Submenu Layout */ 
 
.mega-dropdown { 
 
    position: static !important; 
 
} 
 
.mega-dropdown-menu { 
 
\t min-height: 50px; 
 
    width: 100%; 
 
    box-shadow: none; 
 
    -webkit-box-shadow: none; 
 
\t border-radius: 0px; 
 
\t border: 0px; 
 
\t 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 { 
 
\t color: #c00; 
 
\t 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"> 
 
\t <div class="container-fluid"> 
 
\t \t <!-- Brand and toggle get grouped for better mobile display --> 
 
\t \t <div class="navbar-header"> 
 
\t \t \t <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
 
\t \t \t \t <span class="sr-only">Toggle navigation</span> 
 
\t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t </button> 
 
\t \t \t <a class="brand" href="<?php echo $Site->url() ?>"> 
 
\t \t \t \t <span><img class="img-rounded" src="https://placeholdit.imgix.net/~text?txtsize=12&txt=Logo&w=50&h=50" alt="Logo"></span> 
 
\t \t \t \t <span>Brand</span> 
 
\t \t \t </a> 
 
\t \t </div> 
 

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

Смежные вопросы