Μετάβαση στο κύριο περιεχόμενο Μετάβαση στην πλοήγηση εγγράφων
in English

Navbar

Τεκμηρίωση και παραδείγματα για την ισχυρή, αποκριτική κεφαλίδα πλοήγησης του Bootstrap, τη γραμμή πλοήγησης. Περιλαμβάνει υποστήριξη για την επωνυμία, την πλοήγηση και άλλα, συμπεριλαμβανομένης της υποστήριξης για την προσθήκη κατάρρευσης.

Πως δουλεύει

Εδώ είναι τι πρέπει να γνωρίζετε πριν ξεκινήσετε με τη γραμμή πλοήγησης:

  • Οι γραμμές πλοήγησης απαιτούν αναδίπλωση για κλάσεις σύμπτυξης και χρωμάτων.navbar με απόκριση ..navbar-expand{-sm|-md|-lg|-xl|-xxl}
  • Οι γραμμές πλοήγησης και τα περιεχόμενά τους είναι ρευστά από προεπιλογή. Αλλάξτε το δοχείο για να περιορίσετε το οριζόντιο πλάτος τους με διαφορετικούς τρόπους.
  • Χρησιμοποιήστε τις τάξεις χρησιμότητας Spacing και flex για τον έλεγχο της απόστασης και της ευθυγράμμισης εντός των γραμμών πλοήγησης.
  • Οι γραμμές πλοήγησης ανταποκρίνονται από προεπιλογή, αλλά μπορείτε εύκολα να τις τροποποιήσετε για να το αλλάξετε. Η ανταποκρινόμενη συμπεριφορά εξαρτάται από το πρόσθετο σύμπτυξης JavaScript.
  • Διασφαλίστε την προσβασιμότητα χρησιμοποιώντας ένα <nav>στοιχείο ή, εάν χρησιμοποιείτε ένα πιο γενικό στοιχείο, όπως το <div>, προσθέστε ένα role="navigation"σε κάθε γραμμή πλοήγησης για να την προσδιορίσετε ρητά ως περιοχή ορόσημο για χρήστες υποστηρικτικών τεχνολογιών.
  • Υποδείξτε το τρέχον στοιχείο χρησιμοποιώντας aria-current="page"για την τρέχουσα σελίδα ή aria-current="true"για το τρέχον στοιχείο σε ένα σύνολο.
Το εφέ κίνησης αυτού του στοιχείου εξαρτάται από το prefers-reduced-motionερώτημα πολυμέσων. Δείτε την ενότητα μειωμένης κίνησης της τεκμηρίωσης προσβασιμότητας .

Υποστηριζόμενο περιεχόμενο

Οι μπάρες πλοήγησης διαθέτουν ενσωματωμένη υποστήριξη για μια χούφτα υποεξαρτήματα. Επιλέξτε από τα παρακάτω ανάλογα με τις ανάγκες:

  • .navbar-brandγια το όνομα της εταιρείας, του προϊόντος ή του έργου σας.
  • .navbar-navγια πλοήγηση με πλήρες ύψος και ελαφριά (συμπεριλαμβανομένης της υποστήριξης για αναπτυσσόμενα).
  • .navbar-togglerγια χρήση με την προσθήκη σύμπτυξης και άλλες συμπεριφορές εναλλαγής πλοήγησης .
  • Βοηθητικά προγράμματα Flex και Spacing για οποιαδήποτε στοιχεία ελέγχου φόρμας και ενέργειες.
  • .navbar-textγια την προσθήκη κάθετα κεντραρισμένων συμβολοσειρών κειμένου.
  • .collapse.navbar-collapseγια ομαδοποίηση και απόκρυψη περιεχομένων της γραμμής πλοήγησης κατά γονικό σημείο διακοπής.
  • Προσθέστε ένα προαιρετικό .navbar-scrollγια να ορίσετε max-heightκαι να πραγματοποιήσετε κύλιση περιεχομένου διευρυμένης γραμμής πλοήγησης .

Ακολουθεί ένα παράδειγμα όλων των υποσυστατικών που περιλαμβάνονται σε μια αποκριτική γραμμή πλοήγησης με θέμα το φως που συμπτύσσεται αυτόματα στο lg(μεγάλο) σημείο διακοπής.

<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="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <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="#">Link</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">
            Dropdown
          </a>
          <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
            <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">Disabled</a>
        </li>
      </ul>
      <form class="d-flex">
        <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>

Αυτό το παράδειγμα χρησιμοποιεί κλάσεις βοηθητικού προγράμματος φόντου ( bg-light) και διαστήματος ( my-2, my-lg-0, me-sm-0, ).my-sm-0

Μάρκα

.navbar-brandΜπορεί να εφαρμοστεί στα περισσότερα στοιχεία, αλλά μια άγκυρα λειτουργεί καλύτερα, καθώς ορισμένα στοιχεία μπορεί να απαιτούν κατηγορίες βοηθητικών προγραμμάτων ή προσαρμοσμένα στυλ .

Κείμενο

Προσθέστε το κείμενό σας σε ένα στοιχείο με την .navbar-brandτάξη.

<!-- As a link -->
<nav class="navbar navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Navbar</a>
  </div>
</nav>

<!-- As a heading -->
<nav class="navbar navbar-light bg-light">
  <div class="container-fluid">
    <span class="navbar-brand mb-0 h1">Navbar</span>
  </div>
</nav>

Εικόνα

Μπορείτε να αντικαταστήσετε το κείμενο μέσα στο .navbar-brandμε ένα <img>.

<nav class="navbar navbar-light bg-light">
  <div class="container">
    <a class="navbar-brand" href="#">
      <img src="/docs/5.1/assets/brand/bootstrap-logo.svg" alt="" width="30" height="24">
    </a>
  </div>
</nav>

Εικόνα και κείμενο

Μπορείτε επίσης να χρησιμοποιήσετε ορισμένα πρόσθετα βοηθητικά προγράμματα για να προσθέσετε μια εικόνα και ένα κείμενο ταυτόχρονα. Σημειώστε την προσθήκη .d-inline-blockκαι .align-text-topστο <img>.

<nav class="navbar navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">
      <img src="/docs/5.1/assets/brand/bootstrap-logo.svg" alt="" width="30" height="24" class="d-inline-block align-text-top">
      Bootstrap
    </a>
  </div>
</nav>

Οι σύνδεσμοι πλοήγησης στη γραμμή πλοήγησης βασίζονται στις .navεπιλογές μας με τη δική τους κατηγορία τροποποιητών και απαιτούν τη χρήση κλάσεων εναλλαγής για σωστή απόκριση στυλ. Η πλοήγηση στις γραμμές πλοήγησης θα αυξηθεί και καταλαμβάνει όσο το δυνατόν περισσότερο οριζόντιο χώρο για να διατηρείται τα περιεχόμενα της γραμμής πλοήγησης ευθυγραμμισμένα με ασφάλεια.

Προσθέστε την .activeτάξη για .nav-linkνα υποδείξετε την τρέχουσα σελίδα.

Λάβετε υπόψη ότι θα πρέπει επίσης να προσθέσετε το aria-currentχαρακτηριστικό στο ενεργό .nav-link.

<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="#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">Disabled</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

Και επειδή χρησιμοποιούμε κλάσεις για τους πλοηγούς μας, μπορείτε να αποφύγετε εντελώς την προσέγγιση που βασίζεται στη λίστα, αν θέλετε.

<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="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
      <div class="navbar-nav">
        <a class="nav-link active" aria-current="page" href="#">Home</a>
        <a class="nav-link" href="#">Features</a>
        <a class="nav-link" href="#">Pricing</a>
        <a class="nav-link disabled">Disabled</a>
      </div>
    </div>
  </div>
</nav>

Μπορείτε επίσης να χρησιμοποιήσετε αναπτυσσόμενα μενού στη γραμμή πλοήγησής σας. Τα αναπτυσσόμενα μενού απαιτούν ένα στοιχείο αναδίπλωσης για την τοποθέτηση, επομένως φροντίστε να χρησιμοποιείτε ξεχωριστά και ένθετα στοιχεία για .nav-itemκαι .nav-linkόπως φαίνεται παρακάτω.

<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">
          <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 dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            Dropdown link
          </a>
          <ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
            <li><a class="dropdown-item" href="#">Action</a></li>
            <li><a class="dropdown-item" href="#">Another action</a></li>
            <li><a class="dropdown-item" href="#">Something else here</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</nav>

Έντυπα

Τοποθετήστε διάφορα στοιχεία ελέγχου φόρμας και στοιχεία σε μια γραμμή πλοήγησης:

<nav class="navbar navbar-light bg-light">
  <div class="container-fluid">
    <form class="d-flex">
      <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>
</nav>

Άμεσα θυγατρικά στοιχεία .navbarχρήσης ευέλικτη διάταξη και προεπιλογή θα είναι justify-content: space-between. Χρησιμοποιήστε πρόσθετα βοηθητικά προγράμματα flex όπως απαιτείται για να προσαρμόσετε αυτήν τη συμπεριφορά.

<nav class="navbar navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand">Navbar</a>
    <form class="d-flex">
      <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>
</nav>

Οι ομάδες εισόδου λειτουργούν επίσης. Εάν η γραμμή πλοήγησής σας είναι μια ολόκληρη φόρμα ή κυρίως μια φόρμα, μπορείτε να χρησιμοποιήσετε το <form>στοιχείο ως κοντέινερ και να αποθηκεύσετε λίγο HTML.

<nav class="navbar navbar-light bg-light">
  <form class="container-fluid">
    <div class="input-group">
      <span class="input-group-text" id="basic-addon1">@</span>
      <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1">
    </div>
  </form>
</nav>

Διάφορα κουμπιά υποστηρίζονται και ως μέρος αυτών των φορμών της γραμμής πλοήγησης. Αυτή είναι επίσης μια εξαιρετική υπενθύμιση ότι τα βοηθητικά προγράμματα κάθετης ευθυγράμμισης μπορούν να χρησιμοποιηθούν για την ευθυγράμμιση στοιχείων διαφορετικού μεγέθους.

<nav class="navbar navbar-light bg-light">
  <form class="container-fluid justify-content-start">
    <button class="btn btn-outline-success me-2" type="button">Main button</button>
    <button class="btn btn-sm btn-outline-secondary" type="button">Smaller button</button>
  </form>
</nav>

Κείμενο

Οι γραμμές πλοήγησης μπορεί να περιέχουν κομμάτια κειμένου με τη βοήθεια του .navbar-text. Αυτή η κλάση προσαρμόζει την κατακόρυφη στοίχιση και το οριζόντιο διάστημα για συμβολοσειρές κειμένου.

<nav class="navbar navbar-light bg-light">
  <div class="container-fluid">
    <span class="navbar-text">
      Navbar text with an inline element
    </span>
  </div>
</nav>

Ανακατέψτε και συνδυάστε με άλλα εξαρτήματα και βοηθητικά προγράμματα όπως απαιτείται.

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Navbar w/ text</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarText">
      <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">
          <a class="nav-link" href="#">Pricing</a>
        </li>
      </ul>
      <span class="navbar-text">
        Navbar text with an inline element
      </span>
    </div>
  </div>
</nav>

Σχέδια χρωμάτων

Η δημιουργία θεμάτων στη γραμμή πλοήγησης δεν ήταν ποτέ ευκολότερη χάρη στον συνδυασμό κλάσεων θεματικών και background-colorβοηθητικών προγραμμάτων. Επιλέξτε .navbar-lightγια χρήση με ανοιχτά χρώματα φόντου ή .navbar-darkγια σκούρα χρώματα φόντου. Στη συνέχεια, προσαρμόστε με .bg-*βοηθητικά προγράμματα.

<nav class="navbar navbar-dark bg-dark">
  <!-- Navbar content -->
</nav>

<nav class="navbar navbar-dark bg-primary">
  <!-- Navbar content -->
</nav>

<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
  <!-- Navbar content -->
</nav>

Εμπορευματοκιβώτια

Αν και δεν απαιτείται, μπορείτε να τυλίξετε μια γραμμή πλοήγησης σε ένα .containerγια να το κεντράρετε σε μια σελίδα – αν και σημειώστε ότι εξακολουθεί να απαιτείται εσωτερικό κοντέινερ. Ή μπορείτε να προσθέσετε ένα κοντέινερ μέσα στο .navbarγια να κεντράρετε μόνο τα περιεχόμενα μιας σταθερής ή στατικής επάνω γραμμής πλοήγησης .

<div class="container">
  <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">Navbar</a>
    </div>
  </nav>
</div>

Χρησιμοποιήστε οποιοδήποτε από τα αποκριτικά κοντέινερ για να αλλάξετε την ευρεία εμφάνιση του περιεχομένου στη γραμμή πλοήγησής σας.

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-md">
    <a class="navbar-brand" href="#">Navbar</a>
  </div>
</nav>

Τοποθέτηση

Χρησιμοποιήστε τα βοηθητικά προγράμματα θέσης για να τοποθετήσετε γραμμές πλοήγησης σε μη στατικές θέσεις. Επιλέξτε από σταθερά προς τα πάνω, σταθερά προς τα κάτω ή κολλημένα στο επάνω μέρος (κάνει κύλιση με τη σελίδα μέχρι να φτάσει στην κορυφή και μετά μένει εκεί). Διορθώθηκε η χρήση γραμμών πλοήγησης position: fixed, που σημαίνει ότι αποσύρονται από την κανονική ροή του DOM και ενδέχεται να απαιτούν προσαρμοσμένο CSS (π.χ. padding-topστο <body>) για την αποφυγή επικάλυψης με άλλα στοιχεία.

Σημειώστε επίσης ότι .sticky-topχρησιμοποιεί position: sticky, το οποίο δεν υποστηρίζεται πλήρως σε κάθε πρόγραμμα περιήγησης .

<nav class="navbar navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Default</a>
  </div>
</nav>
<nav class="navbar fixed-top navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Fixed top</a>
  </div>
</nav>
<nav class="navbar fixed-bottom navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Fixed bottom</a>
  </div>
</nav>
<nav class="navbar sticky-top navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Sticky top</a>
  </div>
</nav>

Κύλιση

Προσθήκη .navbar-nav-scrollσε ένα .navbar-nav(ή άλλο υποσυστατικό της γραμμής πλοήγησης) για να ενεργοποιήσετε την κατακόρυφη κύλιση εντός των περιεχομένων με δυνατότητα εναλλαγής μιας συμπτυγμένης γραμμής πλοήγησης. Από προεπιλογή, η κύλιση ξεκινά στο 75vh(ή το 75% του ύψους της θύρας προβολής), αλλά μπορείτε να το παρακάμψετε με την τοπική προσαρμοσμένη ιδιότητα CSS --bs-navbar-heightή προσαρμοσμένα στυλ. Σε μεγαλύτερες θύρες προβολής όταν επεκτείνεται η γραμμή πλοήγησης, το περιεχόμενο θα εμφανίζεται όπως εμφανίζεται σε μια προεπιλεγμένη γραμμή πλοήγησης.

Λάβετε υπόψη ότι αυτή η συμπεριφορά συνοδεύεται από ένα πιθανό μειονέκτημα: overflow—όταν η ρύθμιση overflow-y: auto(απαιτείται για κύλιση του περιεχομένου εδώ), overflow-xείναι ισοδύναμο με το auto, το οποίο θα περικόψει κάποιο οριζόντιο περιεχόμενο.

Ακολουθεί ένα παράδειγμα γραμμής πλοήγησης που χρησιμοποιεί .navbar-nav-scrollμε style="--bs-scroll-height: 100px;", με μερικά βοηθητικά προγράμματα επιπλέον περιθωρίου για βέλτιστη απόσταση.

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Navbar scroll</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarScroll" aria-controls="navbarScroll" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarScroll">
      <ul class="navbar-nav me-auto my-2 my-lg-0 navbar-nav-scroll" style="--bs-scroll-height: 100px;">
        <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="#">Link</a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarScrollingDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            Link
          </a>
          <ul class="dropdown-menu" aria-labelledby="navbarScrollingDropdown">
            <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">Link</a>
        </li>
      </ul>
      <form class="d-flex">
        <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>

Αποκριτικές συμπεριφορές

Οι γραμμές πλοήγησης μπορούν να χρησιμοποιούν .navbar-toggler, .navbar-collapse, και .navbar-expand{-sm|-md|-lg|-xl|-xxl}κλάσεις για να καθορίσουν πότε το περιεχόμενό τους συμπτύσσεται πίσω από ένα κουμπί. Σε συνδυασμό με άλλα βοηθητικά προγράμματα, μπορείτε εύκολα να επιλέξετε πότε να εμφανίσετε ή να αποκρύψετε συγκεκριμένα στοιχεία.

Για γραμμές πλοήγησης που δεν συμπτύσσονται ποτέ, προσθέστε την .navbar-expandκλάση στη γραμμή πλοήγησης. Για γραμμές πλοήγησης που πάντα συμπτύσσονται, μην προσθέσετε καμία .navbar-expandκατηγορία.

Εναλλαγή

Οι εναλλαγές γραμμής πλοήγησης είναι στοιχισμένες αριστερά από προεπιλογή, αλλά εάν ακολουθούν ένα αδελφικό στοιχείο όπως το .navbar-brand, θα ευθυγραμμιστούν αυτόματα στην άκρα δεξιά. Η αντιστροφή της σήμανσης θα αντιστρέψει την τοποθέτηση του διακόπτη. Ακολουθούν παραδείγματα διαφορετικών στυλ εναλλαγής.

Χωρίς να .navbar-brandεμφανίζεται στο μικρότερο σημείο διακοπής:

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-fluid">
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarTogglerDemo01">
      <a class="navbar-brand" href="#">Hidden brand</a>
      <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="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled">Disabled</a>
        </li>
      </ul>
      <form class="d-flex">
        <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>

Με μια επωνυμία που εμφανίζεται στα αριστερά και διακόπτη στα δεξιά:

<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="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarTogglerDemo02">
      <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="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled">Disabled</a>
        </li>
      </ul>
      <form class="d-flex">
        <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>

Με διακόπτη στα αριστερά και επωνυμία στα δεξιά:

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-fluid">
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo03" aria-controls="navbarTogglerDemo03" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <a class="navbar-brand" href="#">Navbar</a>
    <div class="collapse navbar-collapse" id="navbarTogglerDemo03">
      <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="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled">Disabled</a>
        </li>
      </ul>
      <form class="d-flex">
        <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>

Εξωτερικό περιεχόμενο

Μερικές φορές θέλετε να χρησιμοποιήσετε την προσθήκη σύμπτυξης για να ενεργοποιήσετε ένα στοιχείο κοντέινερ για περιεχόμενο που βρίσκεται δομικά έξω από το .navbar. Επειδή η προσθήκη μας λειτουργεί με την idαντιστοίχιση data-bs-target, αυτό γίνεται εύκολα!

<div class="collapse" id="navbarToggleExternalContent">
  <div class="bg-dark p-4">
    <h5 class="text-white h4">Collapsed content</h5>
    <span class="text-muted">Toggleable via the navbar brand.</span>
  </div>
</div>
<nav class="navbar navbar-dark bg-dark">
  <div class="container-fluid">
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
  </div>
</nav>

Όταν το κάνετε αυτό, συνιστούμε να συμπεριλάβετε επιπλέον JavaScript για να μετακινήσετε την εστίαση μέσω προγραμματισμού στο κοντέινερ όταν ανοίγει. Διαφορετικά, οι χρήστες πληκτρολογίου και οι χρήστες υποστηρικτικών τεχνολογιών πιθανότατα θα δυσκολευτούν να βρουν το περιεχόμενο που αποκαλύφθηκε πρόσφατα - ιδιαίτερα εάν το κοντέινερ που άνοιξε βρίσκεται πριν από το διακόπτη στη δομή του εγγράφου. Συνιστούμε επίσης να βεβαιωθείτε ότι η εναλλαγή έχει το aria-controlsχαρακτηριστικό, δείχνοντας το idστοιχείο του κοντέινερ περιεχομένου. Θεωρητικά, αυτό επιτρέπει στους χρήστες υποβοηθητικής τεχνολογίας να μεταπηδούν απευθείας από τον διακόπτη στο κοντέινερ που ελέγχει – αλλά η υποστήριξη για αυτό είναι επί του παρόντος αρκετά αποσπασματική.

Εκτός καμβά

Μετατρέψτε τη γραμμή πλοήγησης που διευρύνεται και συμπτύσσεται σε ένα συρτάρι offcanvas με την προσθήκη offcanvas. Επεκτείνουμε και τα δύο προεπιλεγμένα στυλ offcanvas και χρησιμοποιούμε τις .navbar-expand-*τάξεις μας για να δημιουργήσουμε μια δυναμική και ευέλικτη πλαϊνή γραμμή πλοήγησης.

Στο παρακάτω παράδειγμα, για να δημιουργήσετε μια γραμμή πλοήγησης offcanvas που είναι πάντα συμπτυσσόμενη σε όλα τα σημεία διακοπής, παραλείψτε .navbar-expand-*εντελώς την κλάση.

<nav class="navbar navbar-light bg-light fixed-top">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Offcanvas navbar</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavbar" aria-controls="offcanvasNavbar">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasNavbar" aria-labelledby="offcanvasNavbarLabel">
      <div class="offcanvas-header">
        <h5 class="offcanvas-title" id="offcanvasNavbarLabel">Offcanvas</h5>
        <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
      </div>
      <div class="offcanvas-body">
        <ul class="navbar-nav justify-content-end flex-grow-1 pe-3">
          <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="#">Link</a>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="offcanvasNavbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
              Dropdown
            </a>
            <ul class="dropdown-menu" aria-labelledby="offcanvasNavbarDropdown">
              <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>
        </ul>
        <form class="d-flex">
          <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>
  </div>
</nav>

Για να δημιουργήσετε μια γραμμή πλοήγησης offcanvas που επεκτείνεται σε μια κανονική γραμμή πλοήγησης σε ένα συγκεκριμένο σημείο διακοπής όπως lg, χρησιμοποιήστε το .navbar-expand-lg.

<nav class="navbar navbar-light navbar-expand-lg bg-light fixed-top">
  <a class="navbar-brand" href="#">Offcanvas navbar</a>
  <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarOffcanvasLg" aria-controls="navbarOffcanvasLg">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="offcanvas offcanvas-end" tabindex="-1" id="navbarOffcanvasLg" aria-labelledby="navbarOffcanvasLgLabel">
    ...
  </div>
</nav>

Sass

Μεταβλητές

$navbar-padding-y:                  $spacer * .5;
$navbar-padding-x:                  null;

$navbar-nav-link-padding-x:         .5rem;

$navbar-brand-font-size:            $font-size-lg;
// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
$nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2;
$navbar-brand-height:               $navbar-brand-font-size * $line-height-base;
$navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5;
$navbar-brand-margin-end:           1rem;

$navbar-toggler-padding-y:          .25rem;
$navbar-toggler-padding-x:          .75rem;
$navbar-toggler-font-size:          $font-size-lg;
$navbar-toggler-border-radius:      $btn-border-radius;
$navbar-toggler-focus-width:        $btn-focus-width;
$navbar-toggler-transition:         box-shadow .15s ease-in-out;
$navbar-dark-color:                 rgba($white, .55);
$navbar-dark-hover-color:           rgba($white, .75);
$navbar-dark-active-color:          $white;
$navbar-dark-disabled-color:        rgba($white, .25);
$navbar-dark-toggler-icon-bg:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
$navbar-dark-toggler-border-color:  rgba($white, .1);

$navbar-light-color:                rgba($black, .55);
$navbar-light-hover-color:          rgba($black, .7);
$navbar-light-active-color:         rgba($black, .9);
$navbar-light-disabled-color:       rgba($black, .3);
$navbar-light-toggler-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
$navbar-light-toggler-border-color: rgba($black, .1);

$navbar-light-brand-color:                $navbar-light-active-color;
$navbar-light-brand-hover-color:          $navbar-light-active-color;
$navbar-dark-brand-color:                 $navbar-dark-active-color;
$navbar-dark-brand-hover-color:           $navbar-dark-active-color;

Βρόχος

Οι αποκριτικές κλάσεις επέκτασης/σύμπτυξης της γραμμής πλοήγησης (π.χ. .navbar-expand-lg) συνδυάζονται με τον $breakpointsχάρτη και δημιουργούνται μέσω ενός βρόχου στο scss/_navbar.scss.

// Generate series of `.navbar-expand-*` responsive classes for configuring
// where your navbar collapses.
.navbar-expand {
  @each $breakpoint in map-keys($grid-breakpoints) {
    $next: breakpoint-next($breakpoint, $grid-breakpoints);
    $infix: breakpoint-infix($next, $grid-breakpoints);

    // stylelint-disable-next-line scss/selector-no-union-class-name
    &#{$infix} {
      @include media-breakpoint-up($next) {
        flex-wrap: nowrap;
        justify-content: flex-start;

        .navbar-nav {
          flex-direction: row;

          .dropdown-menu {
            position: absolute;
          }

          .nav-link {
            padding-right: $navbar-nav-link-padding-x;
            padding-left: $navbar-nav-link-padding-x;
          }
        }

        .navbar-nav-scroll {
          overflow: visible;
        }

        .navbar-collapse {
          display: flex !important; // stylelint-disable-line declaration-no-important
          flex-basis: auto;
        }

        .navbar-toggler {
          display: none;
        }

        .offcanvas-header {
          display: none;
        }

        .offcanvas {
          position: inherit;
          bottom: 0;
          z-index: 1000;
          flex-grow: 1;
          visibility: visible !important; // stylelint-disable-line declaration-no-important
          background-color: transparent;
          border-right: 0;
          border-left: 0;
          @include transition(none);
          transform: none;
        }
        .offcanvas-top,
        .offcanvas-bottom {
          height: auto;
          border-top: 0;
          border-bottom: 0;
        }

        .offcanvas-body {
          display: flex;
          flex-grow: 0;
          padding: 0;
          overflow-y: visible;
        }
      }
    }
  }
}