Bootstrap 5 導航語法知識點及案例代碼
Bootstrap 5 提供了強大的導航組件,幫助開發者快速構建響應式且美觀的導航欄。
一、Bootstrap 5 導航組件概述
Bootstrap 5 提供了多種導航組件,主要包括:
- 導航欄(Navbar):用于網站的主要導航區域,支持響應式設計。
- 導航(Nav):基礎的導航組件,可以用于標簽頁、導航菜單等。
- 面包屑導航(Breadcrumb):顯示當前頁面的位置路徑。
本指南將重點介紹 導航欄(Navbar) 和 導航(Nav) 的使用。
二、導航欄(Navbar)語法知識點
1. 基本結構
<nav class="navbar navbar-expand{-sm|-md|-lg|-xl|-xxl} navbar-light bg-light"><div class="container-fluid"><!-- 品牌/logo --><a class="navbar-brand" href="#">品牌</a><!-- 切換按鈕(移動端) --><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="切換導航"><span class="navbar-toggler-icon"></span></button><!-- 導航鏈接 --><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav"><li class="nav-item"><a class="nav-link active" aria-current="page" href="#">首頁</a></li><li class="nav-item"><a class="nav-link" href="#">功能</a></li><li class="nav-item"><a class="nav-link" href="#">定價</a></li><li class="nav-item"><a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">禁用</a></li></ul></div></div>
</nav>
2. 主要類說明
navbar
:基礎類,定義導航欄。navbar-expand{-sm|-md|-lg|-xl|-xxl}
:控制導航欄在不同屏幕尺寸下的展開行為。navbar-light
/navbar-dark
:設置導航欄的文字和圖標顏色。bg-light
/bg-dark
等:設置導航欄的背景顏色。navbar-brand
:品牌或網站名稱。navbar-toggler
:切換按鈕,用于在移動端顯示或隱藏導航鏈接。navbar-collapse
:包含導航鏈接的容器。navbar-nav
:導航鏈接的容器。nav-item
:單個導航項。nav-link
:導航鏈接。
3. 響應式設計
通過添加 navbar-expand-{breakpoint}
類,可以控制導航欄在不同屏幕尺寸下的顯示方式。例如:
navbar-expand-sm
:在小屏幕(≥576px)下展開。navbar-expand-md
:在中屏幕(≥768px)下展開。navbar-expand-lg
:在大屏幕(≥992px)下展開。navbar-expand-xl
:在超大屏幕(≥1200px)下展開。navbar-expand-xxl
:在超超大屏幕(≥1400px)下展開。
4. 導航欄顏色
Bootstrap 提供了多種預定義的顏色類:
navbar-light bg-light
:淺色背景,文字為深色。navbar-dark bg-dark
:深色背景,文字為淺色。- 其他顏色類如
bg-primary
,bg-success
,bg-danger
等也可使用。
5. 導航欄內容
導航欄可以包含以下內容:
- 品牌/logo:使用
navbar-brand
。 - 導航鏈接:使用
nav-link
。 - 下拉菜單:結合
dropdown
組件。 - 表單元素:如搜索框。
- 按鈕:如登錄按鈕。
三、導航(Nav)語法知識點
1. 基本結構
<ul class="nav"><li class="nav-item"><a class="nav-link active" href="#">活動</a></li><li class="nav-item"><a class="nav-link" href="#">鏈接</a></li><li class="nav-item"><a class="nav-link" href="#">鏈接</a></li><li class="nav-item"><a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">禁用</a></li>
</ul>
2. 主要類說明
nav
:基礎類,定義導航。nav-item
:單個導航項。nav-link
:導航鏈接。active
:表示當前活動的鏈接。disabled
:禁用鏈接。
3. 對齊方式
-
左對齊(默認):
<ul class="nav">... </ul>
-
居中對齊:
<ul class="nav justify-content-center">... </ul>
-
右對齊:
<ul class="nav justify-content-end">... </ul>
4. 垂直導航
<ul class="nav flex-column">...
</ul>
5. 導航選項卡(Tabs)
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" href="#">活動</a></li><li class="nav-item"><a class="nav-link" href="#">鏈接</a></li>...
</ul>
6. 導航藥丸(Pills)
<ul class="nav nav-pills"><li class="nav-item"><a class="nav-link active" href="#">活動</a></li><li class="nav-item"><a class="nav-link" href="#">鏈接</a></li>...
</ul>
7. 填充和調整
-
填充:
<ul class="nav nav-pills nav-fill">... </ul>
-
等寬:
<ul class="nav nav-pills nav-justified">... </ul>
四、案例代碼
以下是一個包含導航欄和導航鏈接的完整示例,代碼中包含詳細注釋:
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Bootstrap 5 導航示例</title><!-- Bootstrap 5 CSS --><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body><!-- 導航欄 --><nav class="navbar navbar-expand-lg navbar-dark bg-dark"><div class="container-fluid"><!-- 品牌 --><a class="navbar-brand" href="#">我的網站</a><!-- 切換按鈕(移動端) --><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="切換導航"><span class="navbar-toggler-icon"></span></button><!-- 導航鏈接 --><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav me-auto mb-2 mb-lg-0"><!-- 首頁 --><li class="nav-item"><a class="nav-link active" aria-current="page" href="#">首頁</a></li><!-- 關于我們 --><li class="nav-item"><a class="nav-link" href="#">關于我們</a></li><!-- 服務 --><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">服務</a><ul class="dropdown-menu" aria-labelledby="navbarDropdown"><li><a class="dropdown-item" href="#">服務一</a></li><li><a class="dropdown-item" href="#">服務二</a></li><li><hr class="dropdown-divider"></li><li><a class="dropdown-item" href="#">其他服務</a></li></ul></li><!-- 聯系 --><li class="nav-item"><a class="nav-link" href="#">聯系</a></li></ul><!-- 搜索表單 --><form class="d-flex" role="search"><input class="form-control me-2" type="search" placeholder="搜索" aria-label="搜索"><button class="btn btn-outline-success" type="submit">搜索</button></form></div></div></nav><!-- 主內容 --><div class="container mt-4"><h1>歡迎來到我的網站</h1><p>這是一個使用 Bootstrap 5 構建的導航欄示例。</p></div><!-- Bootstrap 5 JS 和依賴項 --><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
代碼說明
-
引入 Bootstrap 5 CSS 和 JS:
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
使用 CDN 引入 Bootstrap 5 的 CSS 和 JS 文件。
-
導航欄結構:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">... </nav>
navbar-expand-lg
:在大屏幕(≥992px)下展開。navbar-dark bg-dark
:深色背景,文字為淺色。
-
品牌:
<a class="navbar-brand" href="#">我的網站</a>
設置導航欄的品牌名稱。
-
切換按鈕:
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="切換導航"><span class="navbar-toggler-icon"></span> </button>
在移動端顯示一個切換按鈕,用于展開或折疊導航鏈接。
-
導航鏈接:
<div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav me-auto mb-2 mb-lg-0">...</ul>... </div>
collapse navbar-collapse
:包含導航鏈接的容器,支持響應式折疊。navbar-nav
:導航鏈接的容器。me-auto
:將導航鏈接推到左側,右側留出空間給搜索表單。
-
下拉菜單:
<li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">服務</a><ul class="dropdown-menu" aria-labelledby="navbarDropdown"><li><a class="dropdown-item" href="#">服務一</a></li>...</ul> </li>
使用
dropdown
組件創建下拉菜單。 -
搜索表單:
<form class="d-flex" role="search"><input class="form-control me-2" type="search" placeholder="搜索" aria-label="搜索"><button class="btn btn-outline-success" type="submit">搜索</button> </form>
使用 Bootstrap 的表單類創建一個搜索框和提交按鈕。
-
主內容容器:
<div class="container mt-4">... </div>
使用
container
類創建一個響應式容器,并添加頂部外邊距。
五、擴展功能
1. 固定導航欄
-
固定頂部:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">... </nav>
-
固定底部:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-bottom">... </nav>
-
粘性頂部(在滾動時固定):
<nav class="navbar navbar-expand-lg navbar-dark bg-dark sticky-top">... </nav>
2. 顏色主題
Bootstrap 提供了多種顏色主題,可以根據需要選擇:
bg-primary
:主要顏色。bg-secondary
:次要顏色。bg-success
:成功顏色。bg-danger
:危險顏色。bg-warning
:警告顏色。bg-info
:信息顏色。bg-light
:淺色。bg-dark
:深色。
3. 導航欄內容對齊
-
左側對齊(默認)。
-
居中對齊:
<div class="navbar-nav mx-auto">... </div>
-
右側對齊:
<div class="navbar-nav ms-auto">... </div>
4. 導航欄中添加按鈕
<div class="collapse navbar-collapse" id="navbarNav">...<button class="btn btn-outline-light me-2" type="button">按鈕</button><button class="btn btn-primary" type="button">注冊</button>
</div>
六、總結
通過以上語法知識點和案例代碼,Bootstrap 5 的導航組件應該已經對初學者變得清晰易懂。關鍵在于理解各個類的用途和組合方式,以及如何利用 Bootstrap 的響應式設計特性來適應不同的設備屏幕。