Navbar
Dokumentacion dhe shembuj për kokën e navigimit të fuqishëm dhe të përgjegjshëm të Bootstrap, shiritin e navigimit. Përfshin mbështetjen për markën, navigimin dhe më shumë, duke përfshirë mbështetjen për shtesën tonë të kolapsit.
Si punon
Ja çfarë duhet të dini përpara se të filloni me navbarin:
- Shiritat e navigimit kërkojnë një mbështjellje
.navbar
për klasat.navbar-expand{-sm|-md|-lg|-xl|-xxl}
e kolapsit të përgjegjshëm dhe të skemës së ngjyrave . - Shiritat e navigimit dhe përmbajtja e tyre janë si parazgjedhje fluide. Ndryshoni enën për të kufizuar gjerësinë e tyre horizontale në mënyra të ndryshme.
- Përdorni klasat tona të përdorimit të ndarjes dhe fleksibilitetit për të kontrolluar ndarjen dhe shtrirjen brenda shiritave të navigimit.
- Shiritat e navigimit janë të përgjegjshëm si parazgjedhje, por ju mund t'i modifikoni lehtësisht për ta ndryshuar atë. Sjellja e përgjegjshme varet nga shtojca jonë "Collapse JavaScript".
- Siguroni aksesueshmërinë duke përdorur një
<nav>
element ose, nëse përdorni një element më të përgjithshëm si p.sh.<div>
, shtoni njërole="navigation"
në çdo shirit navigimi për ta identifikuar atë në mënyrë eksplicite si një rajon pikë referimi për përdoruesit e teknologjive ndihmëse. - Tregoni artikullin aktual duke përdorur
aria-current="page"
për faqen aktuale osearia-current="true"
për artikullin aktual në një grup.
prefers-reduced-motion
pyetja e medias. Shikoni
seksionin e lëvizjes së reduktuar të dokumentacionit tonë të aksesueshmërisë .
Përmbajtja e mbështetur
Navbarët vijnë me mbështetje të integruar për një pjesë të vogël të nën-komponentëve. Zgjidhni nga sa vijon sipas nevojës:
.navbar-brand
për emrin e kompanisë, produktit ose projektit tuaj..navbar-nav
për një lundrim me lartësi të plotë dhe me peshë të lehtë (përfshirë mbështetjen për zbritjet)..navbar-toggler
për përdorim me shtojcën tonë të kolapsit dhe sjellje të tjera të ndërrimit të navigimit .- Shërbimet e përkuljes dhe ndarjes për çdo kontroll dhe veprim të formës.
.navbar-text
për shtimin e vargjeve të tekstit me qendër vertikalisht..collapse.navbar-collapse
për grupimin dhe fshehjen e përmbajtjeve të shiritit navigues sipas një pikë ndërprerjeje prind.- Shtoni një opsional
.navbar-scroll
për të vendosur një përmbajtje të zgjeruar të shiritit naviguesmax-height
dhe për të lëvizur .
Këtu është një shembull i të gjithë nën-komponentëve të përfshirë në një shirit navigues të përgjegjshëm me temë dritë që shembet automatikisht në pikën e lg
ndërprerjes (të madhe).
<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>
Ky shembull përdor klasat e përdorimit të sfondit ( bg-light
) dhe ndarjes ( my-2
, my-lg-0
, me-sm-0
, ).my-sm-0
Markë
Mund .navbar-brand
të aplikohet në shumicën e elementeve, por një ankorë funksionon më mirë, pasi disa elementë mund të kërkojnë klasa të shërbimeve ose stile të personalizuara.
Teksti
Shtoni tekstin tuaj brenda një elementi me .navbar-brand
klasën.
<!-- 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>
Imazhi
Ju mund ta zëvendësoni tekstin brenda .navbar-brand
me një <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>
Imazhi dhe teksti
Ju gjithashtu mund të përdorni disa shërbime shtesë për të shtuar një imazh dhe tekst në të njëjtën kohë. Vini re shtimin e .d-inline-block
dhe .align-text-top
në <img>
.
<nav class="navbar navbar-light bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">
<img src="/docs/5.1/assets/brand/bootstrap-logo.svg" alt="" width="30" height="24" class="d-inline-block align-text-top">
Bootstrap
</a>
</div>
</nav>
Nav
Lidhjet e navigimit të navigimit bazohen në .nav
opsionet tona me klasën e tyre të modifikuesve dhe kërkojnë përdorimin e klasave ndërruese për stilimin e duhur të përgjegjshëm. Navigimi në shiritat e navigimit do të rritet gjithashtu për të zënë sa më shumë hapësirë horizontale të jetë e mundur për të mbajtur përmbajtjen e shiritit tuaj të navigimit të rreshtuar në mënyrë të sigurt.
Shtoni .active
klasën për .nav-link
të treguar faqen aktuale.
Ju lutemi vini re se duhet të shtoni edhe aria-current
atributin në aktiv .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>
Dhe për shkak se ne përdorim klasa për navigimet tona, ju mund të shmangni plotësisht qasjen e bazuar në listë nëse dëshironi.
<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>
Ju gjithashtu mund të përdorni zbritjet në shiritin tuaj të navigimit. Menytë në dropdown kërkojnë një element mbështjellës për pozicionimin, prandaj sigurohuni që të përdorni elementë të veçantë dhe të ndërthurur për .nav-item
dhe .nav-link
siç tregohet më poshtë.
<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>
Format
Vendosni kontrolle dhe përbërës të ndryshëm formash brenda një shiriti navigimi:
<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>
Elementet e menjëhershme fëmijë të .navbar
përdorimit flex layout dhe do të parazgjedhur në justify-content: space-between
. Përdorni shërbime shtesë flex sipas nevojës për të rregulluar këtë sjellje.
<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>
Grupet e hyrjes punojnë gjithashtu. Nëse shiriti juaj navigues është një formë e tërë, ose kryesisht një formë, mund ta përdorni <form>
elementin si kontejner dhe të ruani pak HTML.
<nav class="navbar navbar-light bg-light">
<form class="container-fluid">
<div class="input-group">
<span class="input-group-text" id="basic-addon1">@</span>
<input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1">
</div>
</form>
</nav>
Edhe butona të ndryshëm mbështeten si pjesë e këtyre formave të shiritit navigues. Ky është gjithashtu një kujtesë e shkëlqyeshme që shërbimet e shtrirjes vertikale mund të përdoren për të lidhur elementë me madhësi të ndryshme.
<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>
Teksti
Shiritat e navigimit mund të përmbajnë pjesë teksti me ndihmën e .navbar-text
. Kjo klasë rregullon shtrirjen vertikale dhe hapësirën horizontale për vargjet e tekstit.
<nav class="navbar navbar-light bg-light">
<div class="container-fluid">
<span class="navbar-text">
Navbar text with an inline element
</span>
</div>
</nav>
Përziejini dhe përshtatni me komponentë dhe pajisje të tjera sipas nevojës.
<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>
Skemat e ngjyrave
Tematika e shiritit të navigimit nuk ka qenë kurrë më e lehtë falë kombinimit të klasave të temave dhe background-color
shërbimeve. Zgjidhni .navbar-light
për përdorim me ngjyra të hapura të sfondit ose .navbar-dark
për ngjyra të errëta të sfondit. Pastaj, personalizoje me .bg-*
shërbimet komunale.
<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>
Kontejnerët
Edhe pse nuk kërkohet, mund ta mbështillni një shirit navigimi në një .container
për ta përqendruar në një faqe – megjithëse vini re se ende kërkohet një enë e brendshme. Ose mund të shtoni një enë brenda .navbar
për të përqendruar vetëm përmbajtjen e një shiriti navigimi të sipërm fiks ose statik .
<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>
Përdorni cilindo nga kontejnerët e përgjegjshëm për të ndryshuar gjerësinë e paraqitjes së përmbajtjes në shiritin tuaj navigues.
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-md">
<a class="navbar-brand" href="#">Navbar</a>
</div>
</nav>
Vendosja
Përdorni shërbimet tona të pozicionit për të vendosur shiritat e navigimit në pozicione jostatike. Zgjidhni nga të fiksuara në krye, të fiksuara në fund ose të ngjitura në krye (lëvizni me faqen derisa të arrijë në krye, pastaj qëndron atje). Përdorimi fiks i shiritave të navigimit position: fixed
, që do të thotë se ato janë tërhequr nga rrjedha normale e DOM dhe mund të kërkojnë CSS të personalizuar (p.sh.padding-top
në <body>
) për të parandaluar mbivendosjen me elementë të tjerë.
Gjithashtu vini re se .sticky-top
përdor position: sticky
, i cili nuk mbështetet plotësisht në çdo shfletues .
<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>
Lëvizje
Shto .navbar-nav-scroll
në një .navbar-nav
(ose nën-komponent tjetër të shiritit navigues) për të mundësuar lëvizjen vertikale brenda përmbajtjes së ndërrueshme të një shiriti navigimi të palosur. Si parazgjedhje, lëvizja fillon në75vh
(ose 75% të lartësisë së portit të pamjes), por ju mund ta anashkaloni atë me veçorinë lokale të personalizuar të CSS --bs-navbar-height
ose stilet e personalizuara. Në portat më të mëdha të shikimit kur zgjerohet shiriti navigues, përmbajtja do të shfaqet ashtu siç shfaqet në një shirit navigimi të paracaktuar.
Ju lutemi vini re se kjo sjellje vjen me një pengesë të mundshme të overflow
— kur vendosja overflow-y: auto
(kërkohet për të lëvizur përmbajtjen këtu), overflow-x
është e barabartë meauto
, e cila do të presë disa përmbajtje horizontale.
Ja një shembull i shiritit navigues që përdor .navbar-nav-scroll
me style="--bs-scroll-height: 100px;"
, me disa shërbime shtesë të diferencës për hapësirën optimale.
<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>
Sjelljet e përgjegjshme
Shiritat e navigimit mund të përdorin .navbar-toggler
, .navbar-collapse
dhe.navbar-expand{-sm|-md|-lg|-xl|-xxl}
klasa për të përcaktuar kur përmbajtja e tyre shembet pas një butoni. Në kombinim me shërbime të tjera, mund të zgjidhni lehtësisht kur të shfaqni ose fshehni elementë të veçantë.
Për shiritat e navigimit që nuk shemben kurrë, shtoni .navbar-expand
klasën në shiritin e navigimit. Për shiritat e navigimit që shemben gjithmonë, mos shtoni asnjë .navbar-expand
klasë.
Ndërrimtar
Ndërruesit e shiritit të navigimit janë radhitur majtas si parazgjedhje, por nëse ndjekin një element si një vëlla ose vëlla .navbar-brand
, ato do të rreshtohen automatikisht në të djathtën ekstreme. Kthimi i shënimit tuaj do të ndryshojë vendosjen e ndërruesit. Më poshtë janë shembuj të stileve të ndryshme të ndërrimit.
Me asnjë .navbar-brand
të treguar në pikën më të vogël të ndërprerjes:
<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>
Me një emër marke të treguar në të majtë dhe çelës në të djathtë:
<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>
Me një çelës në të majtë dhe emrin e markës në të djathtë:
<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>
Përmbajtja e jashtme
Ndonjëherë dëshironi të përdorni shtojcën e kolapsit për të aktivizuar një element kontejner për përmbajtjen që ndodhet në mënyrë strukturore jashtë .navbar
. Për shkak se shtojca jonë funksionon në përputhje id
dhe data-bs-target
përputhet, kjo bëhet lehtësisht!
<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>
Kur e bëni këtë, ju rekomandojmë të përfshini JavaScript shtesë për ta zhvendosur fokusin në mënyrë programore te kontejneri kur ai hapet. Përndryshe, përdoruesit e tastierës dhe përdoruesit e teknologjive ndihmëse ka të ngjarë të kenë një kohë të vështirë për të gjetur përmbajtjen e zbuluar rishtazi - veçanërisht nëse kontejneri që u hap vjen përpara ndërruesit në strukturën e dokumentit. Ne rekomandojmë gjithashtu të siguroheni që ndërruesi të ketë aria-controls
atributin, duke treguar në id
kontejnerin e përmbajtjes. Në teori, kjo i lejon përdoruesit e teknologjisë ndihmëse të kërcejnë drejtpërdrejt nga çelësi në kontejnerin që kontrollon – por mbështetja për këtë aktualisht është mjaft e paqartë.
Jashtë kanavacë
Transformojeni shiritin tuaj navigues në zgjerim dhe në kolaps në një sirtar offcanvas me shtesën offcanvas. Ne zgjerojmë të dy stilet e paracaktuar offcanvas dhe përdorim .navbar-expand-*
klasat tona për të krijuar një shirit anësor dinamik dhe fleksibël navigimi.
Në shembullin e mëposhtëm, për të krijuar një shirit navigimi offcanvas që është gjithmonë i palosur në të gjitha pikat e ndërprerjes, anashkaloni .navbar-expand-*
plotësisht klasë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>
Për të krijuar një shirit navigimi offcanvas që zgjerohet në një shirit navigimi normal në një pikë ndërprerjeje specifike si lg
, përdorni .navbar-expand-lg
.
<nav class="navbar navbar-light navbar-expand-lg bg-light fixed-top">
<a class="navbar-brand" href="#">Offcanvas navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarOffcanvasLg" aria-controls="navbarOffcanvasLg">
<span class="navbar-toggler-icon"></span>
</button>
<div class="offcanvas offcanvas-end" tabindex="-1" id="navbarOffcanvasLg" aria-labelledby="navbarOffcanvasLgLabel">
...
</div>
</nav>
Sass
Variablat
$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;
Lak
Klasat e zgjerimit/kolapsit të shiritit të përgjegjshëm (p.sh., .navbar-expand-lg
) kombinohen me $breakpoints
hartën dhe krijohen përmes një cikli në 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;
}
}
}
}
}