Components

Bootstrap 5 - Dropdowns

Admin
Nov 16, 2024
8 phút đọc
612

Dropdown trong Bootstrap 5 là một danh sách lựa chọn được ẩn bên trong một nút, liên kết, hoặc bất kỳ thành phần kích hoạt nào khác. Khi người dùng nhấp vào, danh sách sẽ xuất hiện, cung cấp các tùy chọn hoặc thông tin.

Cách sử dụng Dropdown cơ bản

Bootstrap 5 cung cấp lớp .dropdown để tạo Dropdown, cùng với các lớp như .dropdown-toggle.dropdown-menu.

Ví dụ:

html
<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <li><a class="dropdown-item" href="#">Lựa chọn 1</a></li>
    <li><a class="dropdown-item" href="#">Lựa chọn 2</a></li>
    <li><a class="dropdown-item" href="#">Lựa chọn 3</a></li>
  </ul>
</div>

Giải thích:

  1. .dropdown: Bao bọc Dropdown.
  2. .dropdown-toggle: Tạo nút kích hoạt Dropdown.
  3. .dropdown-menu: Chứa danh sách các mục.
  4. .dropdown-item: Áp dụng cho từng mục trong menu.

Vị trí của Dropdown

Bootstrap 5 hỗ trợ nhiều tùy chọn để thay đổi vị trí của Dropdown:

Dropdown bên phải:

Sử dụng lớp .dropdown-menu-end:

html
<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton2" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown
  </button>
  <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdownMenuButton2">
    <li><a class="dropdown-item" href="#">Lựa chọn 1</a></li>
    <li><a class="dropdown-item" href="#">Lựa chọn 2</a></li>
    <li><a class="dropdown-item" href="#">Lựa chọn 3</a></li>
  </ul>
</div>

Dropdown với phân nhóm

Bạn có thể thêm divider hoặc tiêu đề để tạo nhóm các mục:

Ví dụ:

html
<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="groupedDropdown" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown Grouped
  </button>
  <ul class="dropdown-menu" aria-labelledby="groupedDropdown">
    <li><h6 class="dropdown-header">Nhóm 1</h6></li>
    <li><a class="dropdown-item" href="#">Mục 1</a></li>
    <li><a class="dropdown-item" href="#">Mục 2</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><h6 class="dropdown-header">Nhóm 2</h6></li>
    <li><a class="dropdown-item" href="#">Mục 3</a></li>
  </ul>
</div>

Dropdown trong Navigation

Dropdown cũng có thể được sử dụng trong thanh điều hướng (Navbar) hoặc thanh công cụ (Toolbar):

Dropdown trong Navbar:

html
<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNavDropdown">
      <ul class="navbar-nav">
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            Dropdown
          </a>
          <ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
            <li><a class="dropdown-item" href="#">Lựa chọn 1</a></li>
            <li><a class="dropdown-item" href="#">Lựa chọn 2</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</nav>

Dropdown với JavaScript

Bạn có thể điều khiển Dropdown thông qua JavaScript API của Bootstrap 5.

Tạo Dropdown bằng JavaScript:

html
<button id="jsDropdown" class="btn btn-primary dropdown-toggle" type="button">
  Dropdown JavaScript
</button>
<ul class="dropdown-menu" id="jsDropdownMenu">
  <li><a class="dropdown-item" href="#">Lựa chọn 1</a></li>
  <li><a class="dropdown-item" href="#">Lựa chọn 2</a></li>
</ul>

<script>
  var dropdownToggle = document.getElementById('jsDropdown');
  var dropdownMenu = new bootstrap.Dropdown(dropdownToggle);
  dropdownToggle.addEventListener('click', function () {
    dropdownMenu.toggle();
  });
</script>

Tùy chỉnh Dropdown

1. Kích thước tùy chỉnh

Bạn có thể thay đổi kích thước menu bằng cách thêm các lớp như .dropdown-menu-lg hoặc .dropdown-menu-sm.

2. Màu sắc

Sử dụng các lớp tiện ích của Bootstrap để thay đổi màu sắc:

html
<ul class="dropdown-menu bg-primary text-white">
  <li><a class="dropdown-item text-white" href="#">Lựa chọn 1</a></li>
</ul>

Lưu ý khi sử dụng Dropdown

  1. Đảm bảo khả năng truy cập: Sử dụng các thuộc tính aria như aria-expanded, aria-labelledby để hỗ trợ công cụ đọc màn hình.
  2. Đảm bảo hoạt động trên di động: Dropdown được tối ưu hóa cho cả màn hình lớn và nhỏ, nhưng hãy kiểm tra trên nhiều thiết bị để đảm bảo giao diện hoạt động đúng.

Kết luận

Dropdowns trong Bootstrap 5 là một thành phần mạnh mẽ và dễ sử dụng, giúp bạn tạo giao diện chuyên nghiệp và linh hoạt. Từ danh sách lựa chọn đơn giản đến phân nhóm hoặc tích hợp trong Navbar, bạn có thể áp dụng Dropdown trong nhiều trường hợp thực tế.

Hãy tiếp tục theo dõi CodeTutHub để học thêm các thành phần Bootstrap 5 hữu ích khác. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến đóng góp, hãy để lại bình luận nhé!

Chúc bạn học tốt!

Toàn Nguyễn
Toàn NguyễnTác giả

Tác giả tại CodeTutHub

Xin chào, mình là Toàn 👋
Là Senior Full-Stack Developer ở HCM, đồng thời là người đứng sau CodeTutHub. Mình viết về những gì mình thực sự dùng hàng ngày — từ Laravel, Next.js, đến cách workflow lập trình với AI agents như Claude Code và Cursor.
Nếu bạn thấy bài này hữu ích, hãy subscribe newsletter hoặc kết nối với mình. Mình luôn sẵn sàng thảo luận về dự án thú vị, cơ hội remote, hoặc đơn giản là chat về tech.
Ho Chi Minh City · Open for collaboration

0 Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!
Đang trả lời
Xoá bình luận

Bạn có chắc muốn xoá bình luận này?
Hành động này không thể hoàn tác.

Thông báo hệ thống
Thông tin