Navbar
Documentazione è esempi per l'intestazione di navigazione putente è responsiva di Bootstrap, a barra di navigazione. Include supportu per a marca, a navigazione è più, cumpresu u supportu per u nostru plugin collapse.
Cumu travaglia
Eccu ciò chì avete bisognu di sapè prima di principià cù a barra di navigazione:
- I Navbars necessitanu un avvolgimentu
.navbar
cù.navbar-expand{-sm|-md|-lg|-xl|-xxl}
per classi di collapsing responsive è schema di culori . - Navbars è u so cuntenutu sò fluidi per difettu. Cambia u cuntinuu per limità a so larghezza horizontale in diverse manere.
- Aduprate e nostre classi di utilità di spaziatura è flex per cuntrullà u spaziamentu è l'allineamentu in i navbars.
- Navbars sò rispunsevuli per automaticamente, ma pudete facilmente mudificà per cambià. U cumpurtamentu responsive dipende da u nostru plugin JavaScript Collapse.
- Assicurà l'accessibilità aduprendu un
<nav>
elementu o, se utilizate un elementu più genericu cum'è un<div>
, aghjunghje unrole="navigation"
à ogni navbar per identificà esplicitamente cum'è una regione di riferimentu per l'utilizatori di tecnulugii assistivi. - Indicate l'elementu attuale usendu
aria-current="page"
per a pagina attuale oaria-current="true"
per l'articulu attuale in un set. - Novu in v5.2.0: Navbars ponu esse tematichi cù variàbili CSS chì sò scoped à a
.navbar
classa di basa..navbar-light
hè stata deprecata è.navbar-dark
hè stata riscritta per annullà e variabili CSS invece di aghjunghje stili supplementari.
prefers-reduced-motion
media query. Vede a
sezione di movimentu ridottu di a nostra documentazione d'accessibilità .
Cuntenutu supportatu
I Navbars venenu cù supportu integratu per una manciata di sub-cumpunenti. Sceglite trà i seguenti cum'è necessariu:
.navbar-brand
per a vostra cumpagnia, produttu o nome di prughjettu..navbar-nav
per una navigazione à tutta l'altezza è ligera (cumpresu supportu per dropdowns)..navbar-toggler
per l'usu cù u nostru plugin di colapsu è altri cumpurtamenti di navigazione .- Flex è utilità di spaziatura per qualsiasi cuntrolli di forma è azzioni.
.navbar-text
per aghjunghje stringhe di testu centrate verticalmente..collapse.navbar-collapse
per raggruppà è nasconde u cuntenutu di a barra di navigazione da un puntu di ruptura parente.- Aghjunghjite un optional
.navbar-scroll
per stabilisce unmax-height
è scorri u cuntenutu di a barra di navigazione ampliata .
Eccu un esempiu di tutti i sub-cumpunenti inclusi in una navbar responsive light-themed chì collapses automaticamente à u lg
breakpoint (grande).
<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>
Questu esempiu usa classi di utilità di fondo ( bg-light
) è spaziatura ( me-auto
, mb-2
, mb-lg-0
, ).me-2
Marca
Pò .navbar-brand
esse appiicatu à a maiò parte di l'elementi, ma un ancore funziona megliu, cum'è certi elementi puderanu dumandà classi di utilità o stili persunalizati.
Testu
Aghjunghjite u vostru testu in un elementu cù a .navbar-brand
classe.
<!-- 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>
Image
Pudete rimpiazzà u testu in u .navbar-brand
cun un <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>
Image è testu
Pudete ancu aduprà alcune utilità supplementari per aghjunghje una maghjina è testu à u stessu tempu. Nota l'aghjunzione di .d-inline-block
è .align-text-top
nantu à u <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>
Nav
I ligami di navigazione Navbar si basanu nantu à e nostre .nav
opzioni cù a so propria classa di modificatore è esigenu l'usu di classi toggler per un stile di rispunsibilità propiu. A navigazione in navbars cresce ancu per occupà u più spaziu horizontale pussibule per mantene u vostru cuntenutu di navbar allineatu in modu sicuru.
Aghjunghjite a .active
classa .nav-link
per indicà a pagina attuale.
Per piacè nutate chì avete ancu aghjunghje l' aria-current
attributu nantu à l'attivu .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>
È perchè usemu classi per i nostri navs, pudete evità l'approcciu basatu in lista interamente se ti piace.
<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>
Pudete ancu aduprà dropdowns in a vostra barra di navigazione. I menu dropdown necessitanu un elementu di imballaggio per u posizionamentu, cusì assicuratevi di utilizà elementi separati è nidificati per .nav-item
è .nav-link
cum'è mostratu quì sottu.
<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>
Forme
Pone diversi cuntrolli di forma è cumpunenti in una barra di navigazione:
<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>
Elementi immediati di u zitellu di .navbar
utilizà un layout flex è predeterminatu à justify-content: space-between
. Aduprate utilità flex supplementari quantu necessariu per aghjustà stu cumpurtamentu.
<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>
I gruppi di input funzionanu ancu. Se u vostru navbar hè una forma sana, o soprattuttu una forma, pudete aduprà l' <form>
elementu cum'è u cuntinuu è salvà qualchì 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>
Diversi buttoni sò supportati ancu cum'è parte di queste forme di navbar. Questu hè ancu un grande ricordu chì l'utilità di allineamentu verticale ponu esse aduprate per allineà elementi di diverse dimensioni.
<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>
Testu
Navbars pò cuntene pezzi di testu cù l'aiutu di .navbar-text
. Questa classa aghjusta l'allineamentu verticale è u spaziu horizontale per e stringhe di testu.
<nav class="navbar bg-light">
<div class="container-fluid">
<span class="navbar-text">
Navbar text with an inline element
</span>
</div>
</nav>
Imbulighjate è abbinate cù altri cumpunenti è utilità cum'è necessariu.
<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>
Schemi di culori
.navbar-light
hè stata deprecata. I variàbili CSS sò applicati à
.navbar
, predeterminatu à l'aspettu "light", è ponu esse rimpiazzati cù
.navbar-dark
.
I temi Navbar sò più faciuli chè mai grazie à a cumminazione di Bootstrap di variabili Sass è CSS. U predeterminatu hè a nostra "navbar light" per l'usu cù culori di fondu chjaru, ma pudete ancu dumandà .navbar-dark
per i culori di fondu scuru. Allora, persunalizà cù .bg-*
utilità.
<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>
Contenituri
Ancu s'ellu ùn hè micca necessariu, pudete imbulighjà una barra di navigazione in un .container
centru per centru nantu à una pagina, ancu se nutate chì un containeru internu hè sempre necessariu. O pudete aghjunghje un cuntinuu in u .navbar
centru per centru solu u cuntenutu di una barra di navigazione superiore fissa o statica .
<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>
Aduprate qualsiasi di i cuntenituri rispunsevuli per cambià quantu hè presentatu u cuntenutu in a vostra barra di navigazione.
<nav class="navbar navbar-expand-lg bg-light">
<div class="container-md">
<a class="navbar-brand" href="#">Navbar</a>
</div>
</nav>
Placement
Aduprate e nostre utilità di pusizioni per mette navbars in pusizioni non statiche. Sceglite da fissu à a cima, fissu à u fondu, appiccicatu à a cima (scrolls cù a pagina finu à ch'ella ghjunghje in cima, poi ferma quì), o appiccicata à u fondu (scrolls cù a pagina finu à ch'ella ghjunghje à u fondu, dopu ferma). là).
I navbars fissi utilizanu position: fixed
, chì significheghja sò tirati da u flussu normale di u DOM è ponu esse bisognu di CSS persunalizati (per esempiu, padding-top
nantu à <body>
) per impediscenu a sovrapposizione cù altri elementi.
<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>
Scrolling
Aghjunghjite .navbar-nav-scroll
à un .navbar-nav
(o à un altru sub-componente di a barra di navigazione) per attivà u scrolling verticale in u cuntenutu toggleable di una barra di navigazione colapsata. Per automaticamente, u scrolling si mette in 75vh
(o 75% di l'altezza di a vista), ma pudete annullà quellu cù a pruprietà CSS locale --bs-navbar-height
o stili persunalizati. À viste più grandi quandu a barra di navigazione hè allargata, u cuntenutu apparirà cum'è in una barra di navigazione predeterminata.
Per piacè nutate chì stu cumpurtamentu vene cun un svantaghju potenziale di overflow
-quandu l'impostazione overflow-y: auto
(necessariu per scrollà u cuntenutu quì), overflow-x
hè l'equivalente di auto
, chì tagliarà qualchì cuntenutu horizontale.
Eccu un esempiu di navbar usendu .navbar-nav-scroll
cù style="--bs-scroll-height: 100px;"
, cù alcune utilità di margine extra per un spaziu ottimale.
<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>
Cumportamenti rispunsevuli
I Navbars ponu aduprà .navbar-toggler
, .navbar-collapse
, è .navbar-expand{-sm|-md|-lg|-xl|-xxl}
classi per determinà quandu u so cuntenutu colapsà daretu à un buttone. In cumbinazione cù altre utilità, pudete facilmente sceglie quandu mostra o ammuccià elementi particulari.
Per i navbars chì ùn colapsanu mai, aghjunghje a .navbar-expand
classa nantu à a navbar. Per i navbars chì sempre colapsanu, ùn aghjunghje micca .navbar-expand
classi.
Toggler
I togglers di Navbar sò allineati à manca per difettu, ma se seguitanu un elementu fratellu cum'è un .navbar-brand
, seranu automaticamente allinati à l'estrema diritta. Inverte u vostru marcatu invierterà a piazza di u toggler. Quì sottu sò esempi di diversi stili di toggle.
Senza .navbar-brand
mostratu à u puntu di pausa più chjucu:
<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>
Cù un nome di marca mostratu à manca è toggler à diritta:
<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>
Cù un toggler à manca è a marca à a diritta:
<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>
Cuntinutu esternu
A volte vulete usà u plugin di colapsu per attivà un elementu di cuntainer per u cuntenutu chì strutturalmente si trova fora di u .navbar
. Perchè u nostru plugin funziona nantu à id
e data-bs-target
currispondenza, hè faciule fà!
<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>
Quandu fate questu, ricumandemu di include JavaScript supplementu per trasfurmà u focu programmaticamente à u cuntinuu quandu hè apertu. Altrimenti, l'utilizatori di u teclatu è l'utilizatori di tecnulugii d'assistenza prubabilmente averebbenu difficultà à truvà u cuntenutu novu revelatu - in particulare se u cuntainer chì hè statu apertu vene prima di u toggler in a struttura di u documentu. Hè ricumandemu ancu di assicurà chì u toggler hà l' aria-controls
attributu, indicà à id
u cuntenutu di u cuntenutu. In teoria, questu permette à l'utilizatori di tecnulugia d'assistenza per saltà direttamente da u toggler à u cuntainer chì cuntrolla, ma u supportu per questu hè attualmente abbastanza irregulare.
Offcanvas
Trasfurmà a vostra barra di navigazione in espansione è colapsante in un cassetto offcanvas cù u cumpunente offcanvas . Estendemu i dui stili predeterminati offcanvas è utilizemu e nostre .navbar-expand-*
classi per creà una barra laterale di navigazione dinamica è flessibile.
In l'esempiu sottu, per creà una barra di navigazione offcanvas chì hè sempre colapsata in tutti i punti di rottura, omette a .navbar-expand-*
classa sanu.
<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>
Per creà una barra di navigazione offcanvas chì si espande in una barra di navigazione normale in un puntu di ruptura specificu cum'è lg
, utilizate .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>
Quandu si usa offcanvas in un navbar scuru, sia cuscenti chì pudete avè bisognu di avè un fondu scuru nantu à u cuntenutu offcanvas per evità chì u testu diventenu illegibile. In l'esempiu sottu, aghjustemu .navbar-dark
è .bg-dark
à u .navbar
, .text-bg-dark
à u .offcanvas
, .dropdown-menu-dark
à .dropdown-menu
, è .btn-close-white
à .btn-close
per un stilu propiu cù un offcanvas scuru.
<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
Variabili
Aggiuntu in v5.2.0Comu parte di l'approcciu di e variabili CSS in evoluzione di Bootstrap, i navbars usanu avà variabili CSS lucali .navbar
per una persunalizazione rinfurzata in tempu reale. I valori per e variabili CSS sò stabiliti via Sass, cusì a persunalizazione di Sass hè ancu supportata.
--#{$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};
Alcune variabili CSS supplementari sò ancu prisenti nantu à .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);
A persunalizazione attraversu variabili CSS pò esse vistu nantu à a .navbar-dark
classa induve annullemu valori specifichi senza aghjunghje selettori CSS duplicati.
--#{$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)};
Variabili Sass
Variabili per tutti i navbars:
$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;
Variabili per a barra di navigazione scura :
$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 loop
A navbar responsive expand / collapse classi (per esempiu, .navbar-expand-lg
) sò cumminati cù a $breakpoints
mappa è generati attraversu un loop in 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;
}
}
}
}
}
}