Ana içeriğe geç Dokümanlar navigasyonuna atla
Check
in English

gezinme çubuğu

Bootstrap'in güçlü, duyarlı gezinme başlığı olan gezinme çubuğu için belgeler ve örnekler. Daraltma eklentimiz için destek de dahil olmak üzere marka bilinci oluşturma, gezinme ve daha fazlası için destek içerir.

Nasıl çalışır

Gezinme çubuğuna başlamadan önce bilmeniz gerekenler:

  • Gezinme çubukları , duyarlı daraltma ve renk şeması sınıfları için bir sarma gerektirir .navbar..navbar-expand{-sm|-md|-lg|-xl|-xxl}
  • Gezinme çubukları ve içerikleri varsayılan olarak değişkendir. Yatay genişliklerini farklı şekillerde sınırlamak için kabı değiştirin .
  • Gezinme çubukları içinde boşluk ve hizalamayı kontrol etmek için boşluk ve esnek yardımcı sınıflarımızı kullanın.
  • Gezinme çubukları varsayılan olarak duyarlıdır, ancak bunu değiştirmek için bunları kolayca değiştirebilirsiniz. Duyarlı davranış, JavaScript'i Daralt eklentimize bağlıdır.
  • Bir öğe kullanarak erişilebilirliği sağlayın <nav>veya a gibi daha genel bir öğe kullanıyorsanız , yardımcı teknolojilerin kullanıcıları için bir dönüm noktası bölgesi olarak açıkça tanımlamak için her gezinme çubuğuna <div>bir ekleyin .role="navigation"
  • aria-current="page"Geçerli sayfa aria-current="true"için veya bir kümedeki geçerli öğe için öğesini kullanarak geçerli öğeyi belirtin.
  • v5.2.0'daki yenilikler:.navbar Gezinme çubukları, temel sınıfa dahil olan CSS değişkenleriyle temalı olabilir . .navbar-lightkullanımdan kaldırıldı ve .navbar-darkek stiller eklemek yerine CSS değişkenlerini geçersiz kılmak için yeniden yazıldı.
Bu bileşenin animasyon efekti prefers-reduced-motionortam sorgusuna bağlıdır. Erişilebilirlik belgelerimizin azaltılmış hareket bölümüne bakın .

Desteklenen içerik

Gezinme çubukları, bir avuç alt bileşen için yerleşik desteğe sahiptir. Gerektiğinde aşağıdakiler arasından seçim yapın:

  • .navbar-brandşirketiniz, ürününüz veya proje adınız için.
  • .navbar-navtam yükseklikte ve hafif bir gezinme için (açılır menüler için destek dahil).
  • .navbar-togglerdaraltma eklentimiz ve diğer gezinme geçiş davranışlarımızla kullanım için.
  • Her türlü form denetimi ve eylemi için esnek ve boşluk bırakma yardımcı programları.
  • .navbar-textdikey olarak ortalanmış metin dizeleri eklemek için.
  • .collapse.navbar-collapsenavbar içeriklerini bir üst kesme noktasına göre gruplamak ve gizlemek için.
  • Genişletilmiş gezinme çubuğu içeriğini.navbar-scroll ayarlamak max-heightve kaydırmak için isteğe bağlı bir ekleyin .

lgBurada, (büyük) kesme noktasında otomatik olarak çöken duyarlı, ışık temalı bir gezinme çubuğuna dahil edilen tüm alt bileşenlere bir örnek verilmiştir .

html
<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="#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="#" 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">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>

Bu örnek, arka plan ( bg-light) ve boşluk ( me-auto, mb-2, mb-lg-0, me-2) yardımcı program sınıflarını kullanır.

Marka

.navbar-brandÇoğu öğeye uygulanabilir, ancak bazı öğeler yardımcı program sınıfları veya özel stiller gerektirebileceğinden bağlantı en iyi sonucu verir .

Metin

Metninizi .navbar-brandsınıfla birlikte bir öğenin içine ekleyin.

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

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

resim

İçindeki metni .navbar-brandbir ile değiştirebilirsiniz <img>.

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

Resim ve metin

Aynı anda bir resim ve metin eklemek için bazı ek yardımcı programlardan da yararlanabilirsiniz. .d-inline-blockve .align-text-topüzerindeki eklemeye dikkat edin <img>.

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

Navbar gezinme bağlantıları .nav, kendi değiştirici sınıflarıyla seçeneklerimizi temel alır ve uygun yanıt veren stil için geçiş sınıflarının kullanılmasını gerektirir. Gezinme çubuklarında gezinme, gezinme çubuğu içeriğinizi güvenli bir şekilde hizalamak için mümkün olduğunca fazla yatay alan kaplayacak şekilde büyüyecektir .

Geçerli sayfayı belirtmek için .activesınıfı ekleyin ..nav-link

aria-currentLütfen, özelliği aktif üzerine de eklemeniz gerektiğini unutmayın .nav-link.

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

Navigasyonlarımız için sınıflar kullandığımız için, isterseniz liste tabanlı yaklaşımdan tamamen kaçınabilirsiniz.

html
<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="#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>

Gezinme çubuğunuzdaki açılır menüleri de kullanabilirsiniz. Açılır menüler, konumlandırma için bir sarma öğesi gerektirir, bu nedenle aşağıda gösterildiği gibi .nav-itemve için ayrı ve iç içe öğeler kullandığınızdan emin olun ..nav-link

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

Formlar

Bir gezinme çubuğuna çeşitli form denetimleri ve bileşenleri yerleştirin:

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

Esnek düzeni kullanmanın hemen alt öğeleri .navbarve varsayılan olarak justify-content: space-between. Bu davranışı ayarlamak için gerektiğinde ek esnek yardımcı programları kullanın.

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

Giriş grupları da çalışır. Gezinme çubuğunuz tam bir formsa veya çoğunlukla bir formsa, <form>öğeyi kapsayıcı olarak kullanabilir ve biraz HTML kaydedebilirsiniz.

html
<nav class="navbar 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>

Bu gezinme çubuğu formlarının bir parçası olarak çeşitli düğmeler de desteklenir. Bu aynı zamanda, farklı boyuttaki öğeleri hizalamak için dikey hizalama yardımcı programlarının kullanılabileceğinin harika bir hatırlatıcısıdır.

html
<nav class="navbar 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>

Metin

Gezinme çubukları, yardımıyla metin bitleri içerebilir .navbar-text. Bu sınıf, metin dizeleri için dikey hizalamayı ve yatay aralığı ayarlar.

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

Gerektiğinde diğer bileşenler ve yardımcı programlarla karıştırın ve eşleştirin.

html
<nav class="navbar navbar-expand-lg 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>

Renk şemaları

v5.2.0'daki yenilikler: Navbar teması artık CSS değişkenleri tarafından desteklenmektedir ve .navbar-lightkullanımdan kaldırılmıştır. CSS değişkenleri uygulanır .navbar , varsayılan olarak "hafif" görünüme göre uygulanır ve ile geçersiz kılınabilir .navbar-dark.

Bootstrap'in Sass ve CSS değişkenleri kombinasyonu sayesinde gezinme çubuğu temaları hiç olmadığı kadar kolay. .navbar-darkVarsayılan, açık arka plan renkleri ile kullanım için "açık gezinme çubuğumuzdur", ancak koyu arka plan renkleri için de başvurabilirsiniz . Ardından, yardımcı programlarla özelleştirin .bg-*.

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

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

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

Konteynerler

.containerGerekli olmasa da, bir sayfada ortalamak için bir gezinme çubuğunu a içine sarabilirsiniz; ancak yine de bir iç kapsayıcının gerekli olduğunu unutmayın. Veya yalnızca sabit veya statik.navbar bir üst gezinme çubuğunun içeriğini ortalamak için içine bir kap ekleyebilirsiniz .

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

Gezinme çubuğunuzdaki içeriğin ne kadar geniş sunulacağını değiştirmek için duyarlı kapsayıcılardan herhangi birini kullanın.

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

Atama

Konum yardımcı programlarımızı kullanınGezinme çubuklarını statik olmayanYukarıya sabitlenmiş, aşağıya sabitlenmiş, üste yapıştırılmış (sayfa en üste ulaşana kadar ilerler, sonra orada kalır) veya alta yapıştırılmış (sayfa en alta ulaşana kadar ilerler, sonra kalır) arasından seçim yapın orada).

Sabit gezinme çubukları, DOM'nin position: fixednormal akışından çekildikleri anlamına gelir ve diğer öğelerle çakışmayı önlemek için özel CSS (örneğin, padding-topüzerinde ) gerektirebilir.<body>

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

kaydırma

Daraltılmış bir gezinme çubuğunun açılabilir içeriği içinde dikey kaydırmayı etkinleştirmek .navbar-nav-scrolliçin bir (veya başka bir gezinme çubuğu alt bileşenine) ekleyin . .navbar-navVarsayılan olarak, kaydırma 75vh(veya görüntü alanı yüksekliğinin %75'i) ile başlar, ancak bunu yerel CSS özel özelliği --bs-navbar-heightveya özel stiller ile geçersiz kılabilirsiniz. Gezinme çubuğu genişletildiğinde daha büyük görünümlerde içerik, varsayılan gezinme çubuğunda olduğu gibi görünür.

Lütfen bu davranışın olası bir dezavantajı ile birlikte geldiğini unutmayın overflow- ayar overflow-y: auto(buradaki içeriği kaydırmak için gereklidir), overflow-xeşdeğerdirauto bazı yatay içeriği kırpacak olan

Optimum aralık için bazı ekstra kenar boşluğu yardımcı programlarıyla birlikte ile birlikte .navbar-nav-scrollkullanılan bir gezinme çubuğu örneği .style="--bs-scroll-height: 100px;"

html
<nav class="navbar navbar-expand-lg 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="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            Link
          </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">Link</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>

Duyarlı davranışlar

Gezinme çubukları, içeriklerinin bir düğmenin arkasında ne zaman çökeceğini belirlemek için , ve sınıflarını .navbar-togglerkullanabilir .navbar-collapse. .navbar-expand{-sm|-md|-lg|-xl|-xxl}Diğer yardımcı programlarla birlikte, belirli öğelerin ne zaman gösterileceğini veya gizleneceğini kolayca seçebilirsiniz.

Asla çökmeyen gezinme çubukları için .navbar-expandsınıfı gezinme çubuğuna ekleyin. Her zaman çöken gezinme çubukları için herhangi bir .navbar-expandsınıf eklemeyin.

geçiş

Gezinme çubuğu geçiş düğmeleri varsayılan olarak sola hizalıdır, ancak aşağıdaki gibi bir kardeş öğeyi izlemeleri gerekir:.navbar-brand durumunda otomatik olarak en sağa hizalanırlar. İşaretlemenizi tersine çevirmek, geçiş düğmesinin yerleşimini tersine çevirir. Aşağıda farklı geçiş stilleri örnekleri verilmiştir.

En küçük kesme noktasında hiçbir .navbar-brandgösterilmeden:

html
<nav class="navbar navbar-expand-lg 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" 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>

Solda gösterilen bir marka adı ve sağda geçiş düğmesi ile:

html
<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="#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" 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>

Solda bir geçiş düğmesi ve sağda marka adı ile:

html
<nav class="navbar navbar-expand-lg 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" 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>

Harici içerik

Bazen, yapısal olarak .navbar. Eklentimiz idve data-bs-targeteşleştirme üzerinde çalıştığı için, bu kolayca yapılır!

html
<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>

Bunu yaptığınızda, açıldığında odağı programlı olarak kapsayıcıya taşımak için ek JavaScript eklemenizi öneririz. Aksi takdirde, klavye kullanıcıları ve yardımcı teknolojilerin kullanıcıları, yeni ortaya çıkan içeriği bulmakta büyük olasılıkla zorlanacaklardır - özellikle de açılan kapsayıcı , belgenin yapısındaki açma/kapama düğmesinden önce gelirse. Ayrıca, toggler'ın şuna aria-controlsişaret eden özniteliğe sahip olduğundan emin olmanızı öneririz.id geçiş anahtarının içerik kapsayıcısınıTeorik olarak, bu, yardımcı teknoloji kullanıcılarının doğrudan geçiş ayarlayıcıdan kontrol ettiği kapsayıcıya atlamalarına izin verir - ancak bunun için destek şu anda oldukça düzensizdir.

tuval dışı

Genişleyen ve daraltılan gezinme çubuğunuzu, tuval dışı bileşeniyle tuval dışı bir çekmeceye dönüştürün . Hem tuval dışı varsayılan stilleri genişletiyoruz hem de .navbar-expand-*dinamik ve esnek bir gezinme kenar çubuğu oluşturmak için sınıflarımızı kullanıyoruz.

Aşağıdaki örnekte, tüm kesme noktalarında her zaman daraltılmış bir tuval dışı gezinme çubuğu oluşturmak için .navbar-expand-*sınıfı tamamen atlayın.

html
<nav class="navbar 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" 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="#" 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>
        </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>
  </div>
</nav>

Gibi belirli bir kesme noktasında normal bir gezinme çubuğuna genişleyen bir tuval dışı gezinme çubuğu oluşturmak için lgkullanın .navbar-expand-lg.

<nav class="navbar 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>

Karanlık bir gezinme çubuğunda tuval dışı kullanırken, metnin okunaksız olmasını önlemek için tuval dışı içerikte koyu bir arka plana sahip olmanız gerekebileceğini unutmayın. Aşağıdaki örnekte, koyu renkli bir tuval ile uygun stil için , , , ve .navbar-darköğelerine .bg-darkekleriz ..navbar.text-bg-dark.offcanvas.dropdown-menu-dark.dropdown-menu.btn-close-white.btn-close

html
<nav class="navbar navbar-dark bg-dark fixed-top">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Offcanvas dark navbar</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasDarkNavbar" aria-controls="offcanvasDarkNavbar">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="offcanvas offcanvas-end text-bg-dark" tabindex="-1" id="offcanvasDarkNavbar" aria-labelledby="offcanvasDarkNavbarLabel">
      <div class="offcanvas-header">
        <h5 class="offcanvas-title" id="offcanvasDarkNavbarLabel">Dark offcanvas</h5>
        <button type="button" class="btn-close btn-close-white" 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="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
              Dropdown
            </a>
            <ul class="dropdown-menu dropdown-menu-dark">
              <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" role="search">
          <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
          <button class="btn btn-success" type="submit">Search</button>
        </form>
      </div>
    </div>
  </div>
</nav>

CSS

Değişkenler

v5.2.0'da eklendi

Bootstrap'in gelişen CSS değişkenleri yaklaşımının bir parçası olarak, gezinme çubukları artık .navbargelişmiş gerçek zamanlı özelleştirme için yerel CSS değişkenlerini kullanıyor. CSS değişkenlerinin değerleri Sass aracılığıyla ayarlanır, bu nedenle Sass özelleştirmesi de desteklenmeye devam eder.

  --#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)};
  --#{$prefix}navbar-padding-y: #{$navbar-padding-y};
  --#{$prefix}navbar-color: #{$navbar-light-color};
  --#{$prefix}navbar-hover-color: #{$navbar-light-hover-color};
  --#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color};
  --#{$prefix}navbar-active-color: #{$navbar-light-active-color};
  --#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y};
  --#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end};
  --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};
  --#{$prefix}navbar-brand-color: #{$navbar-light-brand-color};
  --#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color};
  --#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};
  --#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y};
  --#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x};
  --#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size};
  --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};
  --#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color};
  --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};
  --#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width};
  --#{$prefix}navbar-toggler-transition: #{$navbar-toggler-transition};
  

Bazı ek CSS değişkenleri de şurada bulunur .navbar-nav:

  --#{$prefix}nav-link-padding-x: 0;
  --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};
  @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);
  --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};
  --#{$prefix}nav-link-color: var(--#{$prefix}navbar-color);
  --#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color);
  --#{$prefix}nav-link-disabled-color: var(--#{$prefix}navbar-disabled-color);
  

.navbar-darkCSS değişkenleri aracılığıyla özelleştirme, yinelenen CSS seçicileri eklemeden belirli değerleri geçersiz kıldığımız sınıfta görülebilir .

  --#{$prefix}navbar-color: #{$navbar-dark-color};
  --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};
  --#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};
  --#{$prefix}navbar-active-color: #{$navbar-dark-active-color};
  --#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color};
  --#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};
  --#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};
  --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
  

Sas değişkenleri

Tüm gezinme çubukları için değişkenler:

$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-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;

Karanlık gezinme çubuğu için değişkenler :

$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-dark-brand-color:           $navbar-dark-active-color;
$navbar-dark-brand-hover-color:     $navbar-dark-active-color;

Sass döngüsü

Duyarlı navbar genişletme/daraltma sınıfları (örneğin, .navbar-expand-lg) harita ile birleştirilir ve içindeki $breakpointsbir döngü aracılığıyla oluşturulur 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: var(--#{$prefix}navbar-nav-link-padding-x);
            padding-left: var(--#{$prefix}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 {
          // stylelint-disable declaration-no-important
          position: static;
          z-index: auto;
          flex-grow: 1;
          width: auto !important;
          height: auto !important;
          visibility: visible !important;
          background-color: transparent !important;
          border: 0 !important;
          transform: none !important;
          @include box-shadow(none);
          @include transition(none);
          // stylelint-enable declaration-no-important

          .offcanvas-header {
            display: none;
          }

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