Bootstrap 4 barra di navigazione
Barre di navigazione
Una barra di navigazione è un'intestazione di navigazione posizionata nella parte superiore della pagina:
Barra di navigazione di base
Con Bootstrap, una barra di navigazione può estendersi o comprimersi, a seconda delle dimensioni dello schermo.
Con la classe viene creata una barra di navigazione standard .navbar
, seguita da una classe che si riduce reattiva: .navbar-expand-xl|lg|md|sm
(impila la barra di navigazione verticalmente su schermi molto grandi, grandi, medi o piccoli).
Per aggiungere collegamenti all'interno della barra di navigazione, utilizzare un <ul>
elemento con class="navbar-nav"
. Quindi aggiungi <li>
elementi con una .nav-item
classe seguiti da un <a>
elemento con una .nav-link
classe:
Esempio
<!-- A grey horizontal navbar that becomes
vertical on small screens -->
<nav class="navbar navbar-expand-sm
bg-light">
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Link
1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link
2</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link
3</a>
</li>
</ul>
</nav>
Barra di navigazione verticale
Rimuovi la .navbar-expand-xl|lg|md|sm
classe per creare una barra di navigazione verticale:
Esempio
<!-- A vertical navbar -->
<nav class="navbar bg-light">
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Link
1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link
2</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link
3</a>
</li>
</ul>
</nav>
Barra di navigazione centrata
Aggiungi la .justify-content-center
classe per centrare la barra di navigazione.
L'esempio seguente centra la barra di navigazione su schermi medi, grandi ed extra grandi. Su schermi piccoli verrà visualizzato verticalmente e allineato a sinistra (a causa della classe .navbar-expand-sm):
Esempio
<nav class="navbar navbar-expand-sm
bg-light justify-content-center">
...
</nav>
Barra di navigazione colorata
Utilizzare una delle .bg-color
classi per modificare il colore di sfondo della barra di navigazione ( .bg-primary
,
.bg-success
, .bg-info
, .bg-warning
, .bg-danger
, .bg-secondary
e ).bg-dark
.bg-light
Suggerimento: aggiungi un colore di testo bianco a tutti i collegamenti nella barra di navigazione con la .navbar-dark
classe oppure usa la .navbar-light
classe per aggiungere un
colore di testo nero .
Esempio
<!-- Grey with black text -->
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link"
href="#">Active</a>
</li>
<li
class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link
disabled" href="#">Disabled</a>
</li>
</ul>
</nav>
<!-- Black with white text -->
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">...</nav>
<!-- Blue with white text -->
<nav class="navbar navbar-expand-sm
bg-primary navbar-dark">...</nav>
Stato attivo/disabilitato : aggiungi la .active
classe a un
<a>
elemento per evidenziare il collegamento corrente o la .disabled
classe per indicare che il collegamento non è selezionabile.
Marchio/Logo
La .navbar-brand
classe viene utilizzata per evidenziare il marchio/logo/nome del progetto della tua pagina:
Esempio
<nav class="navbar navbar-expand-sm
bg-dark navbar-dark">
<a
class="navbar-brand" href="#">Logo</a>
...
</nav>
Quando si utilizza la .navbar-brand
classe sulle immagini, Bootstrap 4 modellerà automaticamente l'immagine per adattarla verticalmente alla barra di navigazione.
Esempio
<nav class="navbar navbar-expand-sm
bg-dark navbar-dark">
<a class="navbar-brand" href="#">
<img src="bird.jpg"
alt="Logo" style="width:40px;">
</a>
...
</nav>
Comprimere la barra di navigazione
Molto spesso, soprattutto su schermi di piccole dimensioni, si desidera nascondere i link di navigazione e sostituirli con un pulsante che dovrebbe rivelarli quando viene cliccato.
Per creare una barra di navigazione comprimibile, utilizzare un pulsante con . Quindi avvolgi il contenuto della barra di navigazione (link, ecc.) all'interno di un elemento div con , seguito da un id che corrisponde a quello del pulsante: " thetarget ".class="navbar-toggler",
data-toggle="collapse" and data-target="#thetarget"
class="collapse navbar-collapse"
data-target
Esempio
<nav class="navbar navbar-expand-md bg-dark
navbar-dark">
<!-- Brand -->
<a class="navbar-brand" href="#">Navbar</a>
<!-- Toggler/collapsibe Button -->
<button
class="navbar-toggler" type="button"
data-toggle="collapse" data-target="#collapsibleNavbar">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Navbar links -->
<div class="collapse navbar-collapse"
id="collapsibleNavbar">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link"
href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="#">Link</a>
</li>
</ul>
</div>
</nav>
Suggerimento: puoi anche rimuovere la classe .navbar-expand-md per nascondere SEMPRE i collegamenti della barra di navigazione e visualizzare il pulsante di commutazione.
Barra di navigazione con menu a discesa
Le barre di navigazione possono anche contenere menu a discesa:
Esempio
<nav class="navbar navbar-expand-sm
bg-dark navbar-dark">
<!-- Brand -->
<a class="navbar-brand" href="#">Logo</a>
<!-- Links -->
<ul class="navbar-nav">
<li
class="nav-item">
<a class="nav-link" href="#">Link
1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 2</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop"
data-toggle="dropdown">
Dropdown
link
</a>
<div class="dropdown-menu">
<a
class="dropdown-item" href="#">Link 1</a>
<a class="dropdown-item" href="#">Link 2</a>
<a class="dropdown-item" href="#">Link 3</a>
</div>
</li>
</ul>
</nav>
Moduli e pulsanti della barra di navigazione
Aggiungi un <form>
elemento con class="form-inline"
per raggruppare input e pulsanti fianco a fianco:
Esempio
<nav class="navbar navbar-expand-sm
bg-dark navbar-dark">
<form class="form-inline" action="/action_page.php">
<input class="form-control
mr-sm-2"
type="text" placeholder="Search">
<button class="btn btn-success" type="submit">Search</button>
</form>
</nav>
Puoi anche utilizzare altre classi di input, come .input-group-prepend
o .input-group-append
per allegare un'icona o un testo della guida accanto al campo di input. Imparerai di più su queste classi nel capitolo Input di Bootstrap.
Esempio
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<form class="form-inline" action="/action_page.php">
<div class="input-group">
<div
class="input-group-prepend">
<span class="input-group-text">@</span>
</div>
<input type="text"
class="form-control" placeholder="Username">
</div>
</form>
</nav>
Testo della barra di navigazione
Usa la .navbar-text
classe per allineare in verticale tutti gli elementi all'interno della barra di navigazione che non sono collegamenti (garantisce il riempimento corretto e il colore del testo).
Esempio
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<!--
Links -->
<ul class="navbar-nav">
<li
class="nav-item">
<a class="nav-link" href="#">Link
1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 2</a>
</li>
</ul>
<!-- Navbar text-->
<span class="navbar-text">
Navbar text
</span>
</nav>
Barra di navigazione fissa
La barra di navigazione può anche essere fissata nella parte superiore o inferiore della pagina.
Una barra di navigazione fissa rimane visibile in una posizione fissa (in alto o in basso) indipendentemente dallo scorrimento della pagina.
La .fixed-top
classe rende la barra di navigazione fissa in alto :
Esempio
<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top">
...
</nav>
Usa la .fixed-bottom
classe per fare in modo che la barra di navigazione rimanga in fondo alla pagina:
Esempio
<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-bottom">
...
</nav>
Use the .sticky-top
class to make the navbar fixed/stay at
the top of the page when you scroll past it. Note:
This class does not work in IE11 and earlier (will treat it as position:relative
).
Example
<nav class="navbar navbar-expand-sm bg-dark navbar-dark sticky-top">
...
</nav>