Heim >Web-Frontend >CSS-Tutorial >Wie implementieren ich Untermenüs in Bootstrap 3, 4 und 5?

Wie implementieren ich Untermenüs in Bootstrap 3, 4 und 5?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-29 09:37:10724Durchsuche

How Do I Implement Submenus in Bootstrap 3, 4, and 5?

Untermenü-Implementierung in Bootstrap

In der ersten Version von Bootstrap 3 fehlte eine spezielle Klasse für die Untermenü-Funktionalität. Sie können jedoch weiterhin Untermenüs mit etwas zusätzlichem CSS implementieren.

Bootstrap 5 (Update 2023)

Um Untermenüs zu implementieren, fügen Sie JavaScript hinzu, um das Schließen von Untermenüs zu verhindern wenn das übergeordnete Dropdown-Menü geöffnet ist:

let dropdowns = document.querySelectorAll('.dropdown-toggle')
dropdowns.forEach((dd) => {
    dd.addEventListener('click', function (e) {
        var el = this.nextElementSibling
        el.style.display = el.style.display === 'block' ? 'none' : 'block'
    })
})

Alternativ können Sie CSS speziell für die Navigationsleiste verwenden Dropdowns:

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}

.navbar-nav li:hover > ul.dropdown-menu {
    display: block;
}

Bootstrap 4 (Update 2018)

Bootstrap 4 hat die Klasse .dropdown-submenu entfernt. Verwenden Sie stattdessen CSS, um die Untermenüfunktionalität zu erreichen:

Navigationsleisten-Untermenü bei Hover:

.navbar-nav li:hover > ul.dropdown-menu {
    display: block;
}
.dropdown-submenu {
    position:relative;
}
.dropdown-submenu>.dropdown-menu {
    top:0;
    left:100%;
    margin-top:-6px;
}

Bootstrap 3

Siehe zu diesem Beispiel mit Bootstrap 3:

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

Markup:

<ul class="nav navbar-nav">
  <li class="menu-item dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Drop Down<b class="caret"></b></a>
    <ul class="dropdown-menu">
      <li class="menu-item dropdown dropdown-submenu">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Level 1</a>
        <ul class="dropdown-menu">
          <li class="menu-item ">
            <a href="#">Link 1</a>
          </li>
          <li class="menu-item dropdown dropdown-submenu">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Level 2</a>
            <ul class="dropdown-menu">
              <li>
                <a href="#">Link 3</a>
              </li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

Das obige ist der detaillierte Inhalt vonWie implementieren ich Untermenüs in Bootstrap 3, 4 und 5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn