> 웹 프론트엔드 > CSS 튜토리얼 > Bootstrap 3, 4, 5에서 Bootstrap 드롭다운 하위 메뉴를 어떻게 구현할 수 있습니까?

Bootstrap 3, 4, 5에서 Bootstrap 드롭다운 하위 메뉴를 어떻게 구현할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-12-27 07:54:09
원래의
785명이 탐색했습니다.

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

Bootstrap 드롭다운 하위 메뉴 누락

Bootstrap 3은 특히 모바일에서 하위 메뉴가 더 이상 널리 사용되지 않기 때문에 RC에서 드롭다운 하위 메뉴 클래스를 제거했습니다. 장치. 그러나 CSS 또는 JavaScript를 사용하여 하위 메뉴 기능을 다시 만드는 방법에는 여러 가지가 있습니다.

Bootstrap 5(2023 업데이트)

방법 1: JavaScript Toggle

상위 드롭다운이 있을 때 하위 메뉴가 닫히는 것을 방지하려면 열기:

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';
  });
});
로그인 후 복사

방법 2: CSS 메뉴 호버만

Navbar 드롭다운의 경우:

.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(2018 업데이트)

CSS를 사용하여 동일한 기능을 구현할 수 있습니다:

Hover의 Navbar 하위 메뉴

.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

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;
}
로그인 후 복사

HTML 샘플

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <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>
    </div>
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <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>
    </div>
  </div>
</div>
로그인 후 복사

위 내용은 Bootstrap 3, 4, 5에서 Bootstrap 드롭다운 하위 메뉴를 어떻게 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿