آموزش نوار ناوبری در بوت استرپ

در این بخش با نوار ناوبری در بوت استرپ (Bootstrap Navbar) آشنا می شویم. نوار ناوبری در بوت استرپ یک سربرگ ناوبری قدرتمند و واکنش گرا است که به طور معمول در بالای صفحه قرار می گیرد و دسترسی سریع به بخش های مختلف سایت را فراهم می کند.

نحوه عملکرد نوار ناوبری در بوت استرپ

  • برای ساخت یک نوار ناوبری پایه، کافی است از کلاس .navbar استفاده کنید. اگر می خواهید ویژگی واکنش گرا و قابلیت جمع شدن (Collapsing) را فعال کنید، باید کلاس .navbar را همراه با .navbar-expand{-sm|-md|-lg|-xl|-xxl} به کار ببرید. این کلاس ها مشخص می کنند که نوار ناوبری در چه اندازه صفحه (کوچک، متوسط، بزرگ، خیلی بزرگ، یا خیلی خیلی بزرگ) به صورت عمودی چیده شود.
  • با استفاده از ویژگی aria-current="page" می توانید آیتم جاری را مشخص کنید. همچنین ویژگی aria-current="true" برای تعیین آیتم فعلی در یک مجموعه کاربرد دارد.
  • برای افزایش دسترس پذیری (Accessibility) بهتر است نوار ناوبری را داخل تگ <nav> قرار دهید. اگر از تگ عمومی مانند <div> استفاده می کنید، ویژگی role="navigation" را به آن اضافه کنید. به این ترتیب، ابزارهای کمکی می توانند نوار ناوبری را به درستی شناسایی کنند.
  • در نسخه 5.2.0، می توانید نوار ناوبری را با کمک متغیرهای CSS به راحتی شخصی سازی کنید. این متغیرها محدود به کلاس پایه .navbar هستند. در این نسخه، بوت استرپ کلاس .navbar-light را حذف کرده است و کلاس .navbar-dark اکنون فقط متغیرهای CSS را بازنویسی می کند و از افزودن استایل های اضافی خودداری می کند.

نوار ناوبری پایه در بوت استرپ

محتوای پشتیبانی شده

می توانید از کلاس های داخلی بوت استرپ برای ساخت نوار ناوبری استفاده کنید. در ادامه چند نمونه از این کلاس ها را معرفی می کنم:

  • از کلاس .navbar-brand برای نمایش نام شرکت، محصول یا پروژه استفاده کنید.

  • کلاس .navbar-nav به شما کمک می کند یک ناوبری سبک و تمام قد بسازید. این کلاس از منوهای کشویی نیز پشتیبانی می کند.

  • با استفاده از کلاس .navbar-toggler و افزونه collapse می توانید دکمه باز و بسته شدن نوار ناوبری ایجاد کنید.

  • اگر می خواهید متن های کوتاه و وسط چین شده به نوار ناوبری اضافه کنید، از کلاس .navbar-text استفاده کنید.

  • برای گروه بندی و جمع کردن محتوای نوار ناوبری بر اساس breakpoint والد، می توانید از کلاس .collapse.navbar-collapse استفاده کنید.

  • اگر نیاز دارید ارتفاع نوار ناوبری را محدود کنید و امکان اسکرول برای محتوای باز شده فراهم کنید، از کلاس .navbar-scroll استفاده کنید.

نوبار ساده در بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری عمودی در بوت استرپ (Vertical Navbar)

برای ساخت یک نوار ناوبری که همیشه به صورت عمودی نمایش داده شود، کافی است کلاس .navbar-expand-* را از ساختار نوار ناوبری حذف کنید.

نوار ناوبری عمودی در بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری وسط چین در بوت استرپ (Centered Navbar)

برای نمایش نوار ناوبری به صورت وسط چین، باید کلاس .justify-content-center را به نوار ناوبری اضافه کنید.

نوار ناوبری وسط چین در بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

برند (Brand)

برای نمایش نام برند یا نام پروژه در نوار ناوبری، از کلاس .navbar-brand استفاده کنید.

متن (Text)

برای افزودن متن دلخواه داخل یک عنصر (مانند لینک یا تگ دیگر) در نوار ناوبری، کافی است کلاس .navbar-brand را به آن عنصر اضافه کنید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

تصویر در نوار ناوبری بوت استرپ

برای استفاده از تصویر به جای متن در بخش برند نوار ناوبری، کافی است محتوای داخل .navbar-brand را با یک تگ <img> جایگزین کنید.

تصویر در نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

تصویر و متن در نوار ناوبری بوت استرپ

می توانید با اضافه کردن چند کلاس کمکی، تصویر و متن را به صورت همزمان در بخش برند نوار ناوبری نمایش دهید. برای این کار، به تگ <img> کلاس های .d-inline-block و .align-text-top را اضافه کنید. این کلاس ها باعث می شوند تصویر در کنار متن و به درستی هم تراز با آن نمایش داده شود.

تصویر و متن در نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

ناوبری در بوت استرپ (Nav)

  • لینک های ناوبری در نوار ناوبری بر پایه کلاس .nav ساخته می شوند. این لینک ها دارای کلاس های کمکی مخصوص به خود هستند و برای ایجاد استایل واکنش گرا از کلاس .navbar-toggler استفاده می کنند.
  • نوار ناوبری به گونه ای طراحی شده که به صورت خودکار تمام فضای افقی موجود را اشغال می کند تا بتواند محتوای نوار ناوبری را به شکل ایمن و منظم چینش کند.
  • برای نمایش صفحه فعال، کافی است کلاس .active را به لینک مورد نظر که دارای کلاس .nav-link است اضافه کنید.

همچنین فراموش نکنید که برای رعایت اصول دسترس پذیری (Accessibility)، باید ویژگی aria-current را نیز به لینک فعال .nav-link اضافه کنید.

ناوبری در بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری بدون لیست در بوت استرپ

از آنجا که نوار ناوبری بوت استرپ برای ایجاد ناوبری از کلاس های مخصوص استفاده می کند، نیازی به استفاده از ساختار لیست (لیستی از آیتم ها) وجود ندارد. همان طور که در مثال زیر مشاهده می کنید، می توانید نوار ناوبری را بدون استفاده از لیست نیز پیاده سازی کنید.

نوار ناوبری بدون لیست در بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری همراه با منوی کشویی (Navbar with dropdown)

برای افزودن منوی کشویی (Dropdown) به نوار ناوبری بوت استرپ، کافی است از کلاس های .nav-item و .nav-link استفاده کنید. در مثال زیر می توانید نحوه استفاده از این کلاس ها را مشاهده کنید.

نوار ناوبری همراه با منوی کشویی

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

فرم ها در نوار ناوبری بوت استرپ

برای قرار دادن انواع فیلدهای فرم داخل نوار ناوبری، می توانید از کلاس .form-control استفاده کنید.

فرم ها در نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

در نسخه های جدید، فرزندان کلاس .navbar به صورت پیش فرض از چیدمان Flex استفاده می کنند و خصوصیت justify-content: space-between روی آن ها اعمال می شود.

رفتار پیش فرض فرزندان .navbar

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

اگر نوار ناوبری شما کاملاً شامل یک فرم است یا بیشتر محتوای آن از فرم تشکیل شده، بهتر است از تگ <form> به عنوان محتوای اصلی (container) نوار ناوبری استفاده کنید.

استفاده از تگ <form> در نوار ناوبری

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

فرم های داخل نوار ناوبری از انواع دکمه ها پشتیبانی می کنند. برای این که بتوانید عناصر با اندازه های مختلف (مانند دکمه ها و فیلدهای ورودی) را به درستی تراز کنید، می توانید از کلاس های کمکی تراز عمودی (Vertical Alignment Utilities) استفاده کنید.

پشتیبانی از دکمه ها در فرم نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

متن (Text)

برای تنظیم تراز عمودی و فاصله گذاری افقی متن در نوار ناوبری، می توانید از کلاس .navbar-text استفاده کنید.

متن در نوار ناوبری

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

می توانید نوار ناوبری را با استفاده از سایر کامپوننت ها و کلاس های کمکی (Utilities) بر اساس نیاز خود سفارشی سازی کنید.

سفارشی سازی نوار ناوبری

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

طرح های رنگی نوار ناوبری بوت استرپ

در نسخه 5.3.0، بوت استرپ نوار ناوبری تیره جدید معرفی کرده است. در این نسخه، استفاده از .navbar-dark منسوخ شده و به جای آن باید از ویژگی data-bs-theme="dark" استفاده کنید. برای فعال کردن حالت رنگی تیره مخصوص نوار ناوبری، کافی است این ویژگی را به کلاس .navbar اضافه کنید.

در نسخه 5.2.0، طرح های رنگی نوار ناوبری به کمک متغیرهای CSS مدیریت می شوند. در این نسخه نیز کلاس .navbar-light منسوخ شده است. به طور پیش فرض، یک متغیر CSS روی .navbar اعمال می شود که به آن ظاهر “روشن” می دهد. در صورت نیاز، می توانید این متغیرها را در .navbar-dark بازنویسی کنید.

  • به طور پیش فرض، نوار ناوبری دارای طرح روشن (light navbar) است و برای استفاده با پس زمینه های روشن مناسب می باشد.
  • اگر می خواهید نوار ناوبری با پس زمینه تیره داشته باشید، کافی است ویژگی data-bs-theme="dark" را به کلاس والد .navbar اضافه کنید.
  • علاوه بر این، می توانید ظاهر نوار ناوبری را با استفاده از کلاس های کمکی .bg-* نیز به دلخواه سفارشی سازی کنید.

طرح های رنگی نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

کانتینرها

می توانید به صورت اختیاری نوار ناوبری را داخل یک .container قرار دهید تا آن را در مرکز صفحه نمایش دهید. البته توجه داشته باشید که همچنان باید یک کانتینر داخلی در ساختار نوار ناوبری استفاده کنید.

برای این کار، کافی است یک عنصر با کلاس .container در داخل .navbar قرار دهید. این کار به شما کمک می کند که محتوای نوار ناوبری (چه در حالت ثابت در بالا – fixed، چه در حالت ایستا – static top) به شکل مرتب در مرکز صفحه نمایش داده شود.

کانتینرهادر نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

برای تعیین این که محتوای نوار ناوبری با چه عرضی نمایش داده شود، می توانید از کانتینرهای واکنش گرا (Responsive Containers) استفاده کنید.

تنظیم عرض محتوا در نوار ناوبری

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

محل قرارگیری نوار ناوبری در بوت استرپ

برای قرار دادن نوار ناوبری در موقعیت های غیر ایستا، می توانید از کلاس های کمکی موقعیت دهی (Position Helpers) استفاده کنید. گزینه های مختلفی در اختیار دارید:

  • چسباندن به بالای صفحه (Pin to top)

  • چسباندن به پایین صفحه (Pin to bottom)

  • ثابت کردن در بالای صفحه (Fixed to top)، به این صورت که هنگام اسکرول صفحه، نوار ناوبری در بالای صفحه باقی می ماند.

  • چسباندن به پایین به صورت چسبنده (Stickied to bottom)، به این صورت که نوار ناوبری تا رسیدن به انتهای صفحه اسکرول می شود و سپس در پایین متوقف می شود.

نوارهای ناوبری ثابت (Fixed navbars) از ویژگی position: fixed استفاده می کنند. به دلیل خارج شدن این عناصر از جریان عادی صفحه (Normal DOM Flow)، ممکن است نیاز داشته باشید با استفاده از CSS سفارشی (برای مثال، افزودن padding-top به عنصر <body>) از همپوشانی با سایر عناصر جلوگیری کنید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری ثابت در بالا (Fixed top)

برای ایجاد نوار ناوبری ثابت در بالای صفحه، کافی است از کلاس .fixed-top استفاده کنید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری ثابت در پایین (Fixed bottom)

برای ایجاد نوار ناوبری ثابت در پایین صفحه، کافی است از کلاس .fixed-bottom استفاده کنید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری چسبان به بالا (Sticky top)

برای ایجاد نوار ناوبری چسبان به بالای صفحه، از کلاس .sticky-top استفاده کنید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری چسبان به پایین (Sticky bottom)

برای ایجاد نوار ناوبری چسبان به پایین صفحه، کافی است از کلاس .sticky-bottom استفاده کنید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

اسکرول در نوار ناوبری بوت استرپ

  • برای فعال کردن اسکرول عمودی در بخش محتوای جمع شونده (collapsed) نوار ناوبری، کافی است کلاس .navbar-nav-scroll را به عنصر .navbar-nav اضافه کنید.
  • به طور پیش فرض، اسکرول در این حالت با ارتفاع ۷۵ درصد از ارتفاع پنجره مرورگر (75vh) فعال می شود. البته می توانید با استفاده از ویژگی CSS به نام --bs-navbar-height، این ارتفاع را به دلخواه تغییر دهید.
  • به عنوان نمونه، می توانید از .navbar-nav-scroll همراه با استایل style="--bs-scroll-height: 100px;" استفاده کنید. همچنین می توانید برای داشتن فاصله گذاری بهتر، از کلاس های کمکی margin نیز بهره ببرید.

اسکرول در نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

رفتار واکنش گرا (Responsive behaviors)

نوارهای ناوبری بوت استرپ برای ایجاد رفتار واکنش گرا از کلاس های .navbar-toggler، .navbar-collapse و .navbar-expand{-sm|-md|-lg|-xl|-xxl} استفاده می کنند. با این ترکیب، محتوای نوار ناوبری هنگام کوچک شدن صفحه پشت یک دکمه (toggler button) جمع می شود.

اگر می خواهید نوار ناوبری هیچگاه جمع نشود (همیشه باز بماند)، باید به آن کلاس .navbar-expand را اضافه کنید. اما برای نوارهایی که می خواهید همیشه در حالت جمع شونده باشند، نباید کلاس .navbar-expand را به کار ببرید.

این بخش از آموزش، یکی از مهم ترین مباحثی است که در هر دوره تخصصی بوت استرپ به آن پرداخته می شود، چرا که پیاده سازی درست منوی واکنش گرا در طراحی سایت های مدرن اهمیت بالایی دارد.

دکمه Toggler

به طور پیش فرض، دکمه toggler در سمت چپ نوار ناوبری قرار می گیرد. اما اگر قبل از آن یک عنصر هم‌سطح (مانند .navbar-brand) وجود داشته باشد، دکمه به صورت خودکار در سمت راست نوار ناوبری قرار می گیرد.

دکمه Toggler در نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نام برند در سمت چپ و دکمه Toggler در سمت راست

نام برند در سمت چپ و دکمه Toggler در سمت راست

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نام برند در سمت راست و دکمه Toggler در سمت چپ

نام برند در سمت راست و دکمه Toggler در سمت چپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

محتوای خارجی (External content)

برای نمایش محتوایی که از نظر ساختاری خارج از .navbar قرار دارد، باید از افزونه collapse استفاده کنید. این افزونه به شما امکان می دهد با استفاده از دکمه toggler، المان های بیرونی را نیز باز و بسته کنید.

اجرای این کار بسیار ساده است، زیرا افزونه collapse بر اساس تطابق بین id هدف و ویژگی data-bs-target عمل می کند. به این ترتیب می توانید به راحتی محتوای دلخواه بیرون از نوار ناوبری را کنترل کنید.

محتوای خارجی در نوار ناوبری بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نوار ناوبری Offcanvas در بوت استرپ

برای تبدیل نوار ناوبری قابل گسترش و جمع شدن (expanding and collapsing) به یک کشوی Offcanvas، می توانید این کار را بدون نیاز به استفاده مستقیم از کامپوننت offcanvas انجام دهید. کافی است از کلاس های .navbar-expand-* برای ترکیب استایل پیش فرض Offcanvas استفاده کنید. این کار به شما یک نوار ناوبری جانبی (navigation sidebar) دینامیک و منعطف می دهد.

اگر می خواهید نوار ناوبری به صورت Offcanvas در تمام سایزهای صفحه (در همه Breakpoints) جمع شود، می توانید به سادگی از اضافه کردن کلاس .navbar-expand-* صرف نظر کنید. در این حالت، نوار ناوبری همیشه در قالب یک کشوی Offcanvas عمل می کند.

نوار ناوبری Offcanvas در بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

برای ایجاد یک نوار ناوبری Offcanvas که در یک breakpoint مشخص (مثلاً در نمایشگرهای بزرگ‌تر) به نوار ناوبری عادی تبدیل شود، می توانید از کلاس .navbar-expand-lg استفاده کنید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

برای اینکه متن در نوار ناوبری تیره (Dark Navbar) به خوبی خوانا باقی بماند، باید پس زمینه Offcanvas را نیز تیره تنظیم کنید. برای این کار می توانید از ترکیب کلاس های زیر استفاده کنید:

  • به عنصر .navbar کلاس های .navbar-dark و .bg-dark اضافه کنید تا نوار ناوبری به صورت تیره نمایش داده شود.

  • به محتوای Offcanvas کلاس .text-bg-dark اضافه کنید تا پس زمینه آن تیره و متن به درستی خوانا شود.

  • به منوی کشویی (Dropdown Menu) کلاس .dropdown-menu-dark اضافه کنید تا منو نیز با ظاهر تیره هماهنگ شود.

  • به دکمه بستن (Close Button) کلاس .btn-close-white بدهید تا آیکون بستن به رنگ سفید و روی پس زمینه تیره به خوبی دیده شود.

ناوبری تیره در بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

 

5/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

دوره آموزش برنامه نویسی پایتون در 24 ساعت + ساخت ربات تلگرامی
  • انتشار: ۱۲ خرداد ۱۴۰۴

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید