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.
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 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>
Bu örnek, arka plan ( bg-light
) ve boşluk ( my-2
, my-lg-0
, me-sm-0
, my-sm-0
) 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 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>
resim
İçindeki metni .navbar-brand
bir ile değiştirebilirsiniz <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>
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 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>
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 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>
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 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>
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 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>
Formlar
Bir gezinme çubuğuna çeşitli form denetimleri ve bileşenleri yerleştirin:
<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>
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 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>
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 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>
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 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>
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 navbar-light 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 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>
Renk şemaları
Gezinme çubuğunun temalandırılması, tema sınıfları ve background-color
yardımcı programların birleşimi sayesinde hiç bu kadar kolay olmamıştı. .navbar-light
Açık arka plan renkleri veya .navbar-dark
koyu arka plan renkleri ile kullanım için seçin . 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 navbar-light" 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 navbar-light 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 navbar-light bg-light">
<div class="container-md">
<a class="navbar-brand" href="#">Navbar</a>
</div>
</nav>
Atama
Gezinme çubuklarını statik olmayan konumlara yerleştirmek için konum yardımcı programlarımızı kullanın . Yukarıya sabitlenmiş, alta sabitlenmiş veya üste yapıştırılmış (sayfa en üste ulaşana kadar kaydırılır, sonra orada kalır) arasından seçim yapın. 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>
Ayrıca , her tarayıcıda tam olarak desteklenmeyen , .sticky-top
kullandığınıposition: sticky
unutmayın .
<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>
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ıyla birlikte geldiğini unutmayın; overflow
ayar overflow-y: auto
(buradaki içeriği kaydırmak için gereklidir), bazı yatay içeriği kırpacak olan overflow-x
ile eşdeğerdir .auto
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 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>
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 gibi bir kardeş öğeyi izlemeleri .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 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>
Solda gösterilen bir marka adı ve sağda geçiş düğmesi ile:
<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>
Solda bir geçiş düğmesi ve sağda marka adı ile:
<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>
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, geçiş anahtarının içerik kapsayıcısını aria-controls
işaret eden özniteliğe sahip olduğundan emin olmanızı öneririz. id
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 çöken gezinme çubuğunuzu, tuval dışı eklentisiyle 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 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>
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-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>
küstah
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-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;
Döngü
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: $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;
}
}
}
}
}