By GokiSoft.Com| 19:28 12/10/2020|
Tài Liệu Bootstrap

Bootstrap 4 Navigation Bar

Navigation Bars

Navigation bar là một thanh điều hướng thường nằm trên đầu trang:


Basic Navbar

Với Bootstrap, một navigation bar có thể dãn ra hoặc co lại tùy thuộc vào screen size.

Một navigation bar được tạo ra với class .navbar, theo sau là một responsive collapsing class: .navbar-expand-xl|lg|md|sm (xếp nav bar theo chiều dọc trên màn hình xlarge, large, medium hoặc small).

Để add links trong navbar, sử dụng thẻ <ul> với class="navbar-nav". Sau đó add <li> cùng với class .nav-item theo sau nó là thẻ <a> với class .nav-link:

Ví dụ

<!-- A grey horizontal navbar that becomes vertical on small screens -->
<nav class="navbar navbar-expand-sm bg-light">

  <!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 3</a>
    </li>
  </ul>

</nav>

Vertical Navbar (Navbar dọc)

Loại bỏ class .navbar-expand-xl|lg|md|sm để tạo một vertical navigation bar:

Ví dụ

<!-- A vertical navbar -->
<nav class="navbar bg-light">

  <!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 3</a>
    </li>
  </ul>

</nav>



Centered Navbar

Add class .justify-content-center để canh giữa navigation bar.

Ví dụ

<nav class="navbar navbar-expand-sm bg-light justify-content-center">
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 3</a>
    </li>
  </ul>
</nav>



Colored Navbar



Sử dụng bất kỳ class .bg-color để thay đổi background color cho navbar (.bg-primary.bg-success.bg-info.bg-warning.bg-danger.bg-secondary.bg-dark và .bg-light)

Mẹo: Add white text color cho tất cả links trong navbar với class .navbar-dark, hoặc class .navbar-light để add black text color.

Ví dụ

<!-- Grey with black text -->
<nav class="navbar navbar-expand-sm bg-light navbar-light">
  <ul class="navbar-nav">
    <li class="nav-item active">
      <a class="nav-link" href="#">Active</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link</a>
    </li>
    <li class="nav-item">
      <a class="nav-link disabled" href="#">Disabled</a>
    </li>
  </ul>
</nav>

<!-- Black with white text -->
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">...</nav>

<!-- Blue with white text -->
<nav class="navbar navbar-expand-sm bg-primary navbar-dark">...</nav>

Active/disabled: Add class .active cho thẻ <a> để highlight current link, hoặc class .disabled để vô hiệu hóa link.


Brand / Logo

Class .navbar-brand được dùng để highlight nhãn/logo/tên dự án trang của bạn:

Ví dụ

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
  <!-- Brand/logo -->
  <a class="navbar-brand" href="#">Logo</a>
  
  <!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 3</a>
    </li>
  </ul>
</nav>


Khi sử dụng class .navbar-brand trên image, Bootstrap 4 sẽ tự động định kiểu hình ảnh để vừa với navigation bar.

Ví dụ

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
  <!-- Brand/logo -->
  <a class="navbar-brand" href="#">
    <img src="bird.jpg" alt="logo" style="width:40px;">
  </a>
  
  <!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 3</a>
    </li>
  </ul>
</nav>



Collapsing The Navigation Bar

Đặc biệt khi trên màn hình nhỏ, bạn muốn hide navigation links và thay thế chúng bằng một button sẽ hiển thị chúng khi nhấp vào.

Để tạo một collapsible navigation bar, sử dụng một button với class="navbar-toggler", data-toggle="collapse" và data-target="#thetarget". Sau đó bao navbar content (links, vv) bên trong thẻ div với class="collapse navbar-collapse", theo sau là một id trùng với data-target của button trên.

Ví dụ

<nav class="navbar navbar-expand-md bg-dark navbar-dark">
  <!-- Brand -->
  <a class="navbar-brand" href="#">Navbar</a>

  <!-- Toggler/collapsibe Button -->
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
    <span class="navbar-toggler-icon"></span>
  </button>

  <!-- Navbar links -->
  <div class="collapse navbar-collapse" id="collapsibleNavbar">
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
    </ul>
  </div>
</nav>

Mẹo: Ban có thể bỏ class .navbar-expand-md để LUÔN hide navbar links và hiển thị toggler button.


Navbar với Dropdown

Ví dụ

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
  <!-- Brand -->
  <a class="navbar-brand" href="#">Logo</a>

  <!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>

    <!-- Dropdown -->
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
        Dropdown link
      </a>
      <div class="dropdown-menu">
        <a class="dropdown-item" href="#">Link 1</a>
        <a class="dropdown-item" href="#">Link 2</a>
        <a class="dropdown-item" href="#">Link 3</a>
      </div>
    </li>
  </ul>
</nav>



Navbar Forms và Buttons

Ví dụ

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
  <form class="form-inline" action="/action_page.php">
    <input class="form-control mr-sm-2" type="text" placeholder="Search">
    <button class="btn btn-success" type="submit">Search</button>
  </form>
</nav>

Bạn cũng có thể sử dụng các class input khác, ví dụ như .input-group-prepend hoặc .input-group-append để attach một icon hoặc text bên cạnh input field. Bạn sẽ được tìm hiểu thêm về các class này trong bài Bootstrap Inputs.

Ví dụ

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
  <form class="form-inline" action="/action_page.php">
    <div class="input-group">
      <div class="input-group-prepend">
        <span class="input-group-text">@</span>
      </div>
      <input type="text" class="form-control" placeholder="Username">
    </div>
  </form>
</nav>



Navbar Text

Sử dụng class .navbar-text để chèn text vào nav bar thay vì links.

Ví dụ

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">

<!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>
  </ul>

  <!-- Navbar text-->
  <span class="navbar-text">
    Navbar text
  </span>

</nav>



Fixed Navigation Bar

Navigation bar có thể được cố định top hoặc bottom của trang web được gọi là fixed navigation bar.

Class .fixed-top sẽ khiến navigation bar hiện cố định đầu trang dù bạn scroll xuống:

Ví dụ

<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top">
  <a class="navbar-brand" href="#">Logo</a>
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link</a>
    </li>
  </ul>
</nav>

<div class="container-fluid" style="margin-top:80px">
  <h3>Top Fixed Navbar</h3>
  <p>A fixed navigation bar stays visible in a fixed position (top or bottom) independent of the page scroll.</p>
  <h1>Scroll this page to see the effect</h1>
</div>

Tương tự sử dụng class .fixed-bottom để khiến navbar cố định bên dưới trang web:


Sử dụng class .sticky-top để khiến navbar dính vào trên cùng trang web khi bạn scroll qua nó.

Note: Class này không có tác dụng với trình duyệt từ IE11 trở xuống (sẽ coi nó như position:relative).

Ví dụ

<div class="container-fluid">
  <br>
  <h3>Sticky Navbar</h3>
  <p>A sticky navigation bar stays fixed at the top of the page when you scroll past it.</p>
  <p>Scroll this page to see the effect. <strong>Note:</strong> sticky-top does not work in IE11 and earlier.</p>
</div>

<nav class="navbar navbar-expand-sm bg-dark navbar-dark sticky-top">
  <a class="navbar-brand" href="#">Logo</a>
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link</a>
    </li>
  </ul>
</nav>

<div class="container-fluid"><br>
  <p>Some example text. Some example text. Some example text. Some example text. Some example text.</p>
  <p>Some example text. Some example text. Some example text. Some example text. Some example text.</p>
  <p>Some example text. Some example text. Some example text. Some example text. Some example text.</p>
  <p>Some example text. Some example text. Some example text. Some example text. Some example text.</p>
</div>