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 sayfaaria-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-light
kullanımdan kaldırıldı ve.navbar-dark
ek stiller eklemek yerine CSS değişkenlerini geçersiz kılmak için yeniden yazıldı.
prefers-reduced-motion
ortam 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-nav
tam yükseklikte ve hafif bir gezinme için (açılır menüler için destek dahil)..navbar-toggler
daraltma 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-text
dikey olarak ortalanmış metin dizeleri eklemek için..collapse.navbar-collapse
navbar içeriklerini bir üst kesme noktasına göre gruplamak ve gizlemek için.- Genişletilmiş gezinme çubuğu içeriğini
.navbar-scroll
ayarlamakmax-height
ve kaydırmak için isteğe bağlı bir ekleyin .
lg
Burada, (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 .
<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-brand
sınıfla birlikte bir öğenin içine ekleyin.
<!-- 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-brand
bir ile değiştirebilirsiniz <img>
.
<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-block
ve .align-text-top
üzerindeki eklemeye dikkat edin <img>
.
<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>
Gezinti
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 .active
sınıfı ekleyin ..nav-link
aria-current
Lütfen, özelliği aktif üzerine de eklemeniz gerektiğini unutmayın .nav-link
.
<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.
<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-item
ve için ayrı ve iç içe öğeler kullandığınızdan emin olun ..nav-link
<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:
<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 .navbar
ve varsayılan olarak justify-content: space-between
. Bu davranışı ayarlamak için gerektiğinde ek esnek yardımcı programları kullanın.
<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.
<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.
<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.
<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.
<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ı
.navbar-light
kullanı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-dark
Varsayı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
.container
Gerekli 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 .
<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.
<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: fixed
normal akışından çekildikleri anlamına gelir ve diğer öğelerle çakışmayı önlemek için özel CSS (örneğin, padding-top
üzerinde ) gerektirebilir.<body>
<nav class="navbar bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Default</a>
</div>
</nav>
<nav class="navbar fixed-top bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Fixed top</a>
</div>
</nav>
<nav class="navbar fixed-bottom bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Fixed bottom</a>
</div>
</nav>
<nav class="navbar sticky-top bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Sticky top</a>
</div>
</nav>
<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-scroll
için bir (veya başka bir gezinme çubuğu alt bileşenine) ekleyin . .navbar-nav
Varsayı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-height
veya ö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-x
eş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-scroll
kullanılan bir gezinme çubuğu örneği .style="--bs-scroll-height: 100px;"
<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-toggler
kullanabilir .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-expand
sınıfı gezinme çubuğuna ekleyin. Her zaman çöken gezinme çubukları için herhangi bir .navbar-expand
sı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-brand
gösterilmeden:
<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:
<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:
<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 id
ve data-bs-target
eşleştirme üzerinde çalıştığı için, bu kolayca yapılır!
<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-controls
iş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.
<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 lg
kullanı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-dark
ekleriz ..navbar
.text-bg-dark
.offcanvas
.dropdown-menu-dark
.dropdown-menu
.btn-close-white
.btn-close
<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 eklendiBootstrap'in gelişen CSS değişkenleri yaklaşımının bir parçası olarak, gezinme çubukları artık .navbar
geliş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-dark
CSS 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 $breakpoints
bir 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;
}
}
}
}
}
}