navbar در Bootstrap چیزی فراتر از نوارهای افقی ساده در بالای وبسایت شما هستند؛ آنها ستون فقرات ناوبری سایت و ستاره راهنمایی هستند که به کاربران کمک میکنند مسیر خود را پیدا کرده و به بخشهای مختلف محتوای شما دسترسی داشته باشند. این ناوبارها برای پاسخگویی، انعطافپذیری و داشتن قابلیتهای متعدد طراحی شدهاند و تجربهای روان در تمامی اندازههای صفحهنمایش ارائه میدهند. این راهنمای جامع به بررسی عمیق ساختار ناوبارهای Bootstrap، گزینههای سفارشیسازی، رفتارهای واکنشگرا، ویژگیهای پیشرفته، ملاحظات دسترسیپذیری و استراتژیهای خلاقانه پیادهسازی فراتر از فهرستهای ساده پیوندها میپردازد.
ساختار پایه ناوبار(.navbar
)
ساختار اصلی یکnavbar درBootstrap شامل چند عنصر HTML کلیدی است:
.navbar
: ظرف اصلی نوار ناوبری. معمولاً کلاسهای رنگ پسزمینه (مانند.bg-light
,.bg-dark
,.bg-primary
) و کلاسهای موقعیتی (مانند.fixed-top
,.sticky-top
) به این عنصر اعمال میشود..container
یا.container-fluid
: برای کنترل عرض و واکنشگرایی محتویات داخلی ناوبار. کلاس.container
نقاط شکست ثابت دارد و.container-fluid
تمام عرض صفحه را میگیرد..navbar-brand
: برای نمایش لوگو یا عنوان اصلی سایت/اپلیکیشن استفاده میشود (معمولاً تگ<a>
)..navbar-nav
: فهرستی نامرتب از پیوندها (<ul>
که شامل.nav-item
و لینکهایی با کلاس.nav-link
هستند)..navbar-toggler
: دکمهای برای باز و بسته کردن ناوبار در اندازههای کوچکتر (موبایل). این دکمه معمولاً شاملdata-bs-toggle="collapse"
وdata-bs-target="#yourNavbarId"
است..collapse.navbar-collapse
: بخشی که شامل پیوندها و محتوای دیگر است که در نمایشگرهای کوچکتر پنهان و در بزرگترها نمایش داده میشود.
مثال پایه navbar
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Basic Bootstrap Navbar</title>
<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 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="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<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="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
</div>
</nav>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

کلاسهای واکنشگرا (.navbar-expand-*
)
کلاس .navbar-expand-*
مشخص میکند ناوبار در چه نقطهای از حالت موبایل (جمعشده) به حالت دسکتاپ (باز) تغییر وضعیت دهد. گزینههای معمول شامل .navbar-expand-sm
, .navbar-expand-md
, .navbar-expand-lg
, .navbar-expand-xl
, .navbar-expand-xxl
هستند.
تمها و رنگها
Bootstrap تمهای داخلی برای ناوبار ارائه میدهد:
.navbar-light
: برای پسزمینههای روشن (متن تیره)..navbar-dark
: برای پسزمینههای تیره (متن روشن)..bg-*
: کلاسهای رنگ پسزمینه (مثل.bg-primary
,.bg-success
) را میتوان روی.navbar
اعمال کرد.
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
</nav>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
</nav>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
</nav>


موقعیتیابی navbar در Bootstrap
.fixed-top
: ناوبار به بالای صفحه چسبیده و با اسکرول باقی میماند..fixed-bottom
: ناوبار به پایین صفحه میچسبد..sticky-top
: ناوبار تا رسیدن به بالای صفحه با اسکرول حرکت کرده و سپس ثابت میشود.
<nav class="navbar navbar-expand-lg bg-light fixed-top">
</nav>
<nav class="navbar navbar-expand-lg bg-light sticky-top">
</nav>
افزودن محتوای بیشتر
ناوبار میتواند شامل موارد بیشتری باشد:
- فرمها (
<form class="d-flex">
): برای جستجو یا فرمهای دیگر. - دکمهها (
<button class="btn btn-outline-success">
): افزودن دکمههای فراخوان. - متنها (
<span>
یا<div>
): اطلاعات یا توضیحات اضافه. - منوهای کشویی (
.dropdown
): ساخت زیرمنوهای ناوبری.
<nav class="navbar navbar-expand-lg bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<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="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link disabled" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="d-flex" role="search">
<input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</div>
</nav>

کنترل نقاط شکست (Breakpoints)
محتوای داخل .collapse.navbar-collapse
در اندازههای کوچکتر از breakpoint انتخابی مخفی میماند و در اندازههای بزرگتر نمایش داده میشود.
ملاحظات دسترسیپذیری
- از تگ
<nav>
برای مشخص کردن ناوبری استفاده کنید. aria-label
: برچسب توصیفی برای ناوبار (مثلاًaria-label="Main navigation"
).aria-controls
,aria-expanded
,aria-label
برای دکمههای toggler ضروری هستند.- اطمینان حاصل کنید که تمام لینکها و عناصر قابل تعامل با کلید Tab در دسترس باشند.
- منوهای کشویی باید با کلیدهای جهتدار قابل پیمایش و با Escape قابل بسته شدن باشند.
- وضعیت فعال با استفاده از
.active
وaria-current="page"
مشخص شود.
پیادهسازیهای خلاقانه
- ناوبارهای عمودی: با CSS سفارشی میتوان ناوبار را به نوار کناری تبدیل کرد.
- ناوبار پایین صفحه: مناسب اپلیکیشنهای موبایل برای دسترسی سریع.
- ناوبری چندسطحی: ایجاد منوهای تو در تو با dropdown.
- ناوبری زمینهای: تغییر محتوای ناوبار با توجه به صفحه فعلی.
- نوار پیشرفت: استفاده از ناوبار به عنوان نوار پیشرفت در فرمهای چندمرحلهای.
- نوار ابزار: گنجاندن کنترلها و دکمهها در ناوبار.
بهترین روشها
- مختصر و مفید باشید: ناوبار را با آیتمهای زیاد شلوغ نکنید.
- لینکهای مهم را در اولویت قرار دهید.
- ثبات در طراحی: از سبک یکنواخت در تمام صفحات استفاده کنید.
- برچسبگذاری واضح: برای لینکها از متنهای واضح استفاده کنید.
- تست واکنشگرایی: ناوبار را در اندازههای مختلف نمایشگر آزمایش کنید.
- اولویت به دسترسیپذیری: همیشه ناوبار را برای کاربران دارای معلولیت قابل استفاده نگه دارید.
نتیجهگیری
navbar در Bootstrap بخش مهمی از طراحی مدرن وب هستند. با درک ساختار، استفاده از گزینههای سفارشیسازی و توجه به دسترسیپذیری، میتوانید تجربهای کاربرپسند، روان و مؤثر ایجاد کنید که مخاطب را بهخوبی راهنمایی کند. از قدرت این عنصر کلیدی استفاده کنید و آن را به بخش ضروری و کاربردی معماری وبسایت خود تبدیل نمایید.