Bootstrap mette a disposizione un componente generico per la creazione di menu di navigazione a partire da liste non ordinate ul. Questo componente generico è contraddistinto dalla classe .nav. All'interno di ciascun li si definisce un link. La classe .active designa l'elemento della navigazione attivo.
<ul class="nav"> <li class="active"><a href="#">Item 1</a></li> <li><a href="#">Item 2</a></li> <li><a href="#">Item 3</a></li> </ul>
Il testo e i link nei menu di navigazione ereditano le impostazioni globali. Si può però intervenire sul padding e sulla spaziatura interna dei link agendo su questa regola:
.nav > li > a {
position: relative;
display: block;
padding: 10px 15px;
}
Per modificare lo stile sull'hover questa è la regola:
.nav > li > a:hover,
.nav > li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
A partire da questa struttura di base possiamo creare i menu veri e propri aggiungendo alla classe .nav altre classi. Se vogliamo creare una navigazione a tab aggiungiamo la classe -nav-tabs.
<ul class="nav nav-tabs"> <li class="active"><a href="#">Item 1</a></li> <li><a href="#">Item 2</a></li> <li><a href="#">Item 3</a></li> </ul>
.nav-tabsSi può intervenire su aspetti stilistici come il bordo, l'arrotondamento degli angoli e l'aspetto delle tab sull'hover agendo su queste regole:
.nav-tabs > li > a {
margin-right: 2px;
line-height: 1.428571429;
border: 1px solid transparent;
border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover {
border-color: #eeeeee #eeeeee #dddddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: #555555;
cursor: default;
background-color: #ffffff;
border: 1px solid #dddddd;
border-bottom-color: transparent;
}
Per strutturare una navigazione orizzontale si usa la classe .nav-pills.
<ul class="nav nav-pills"> <li class="active"><a href="#">Item 1</a></li> <li><a href="#">Item 2</a></li> <li><a href="#">Item 3</a></li> </ul>
-nav-pillsPer modificare la forma e i colori dell'indicatore di item attivo si può agire su queste regole:
.nav-pills > li > a {
border-radius: 5px;
}
.nav-pills > li + li {
margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #ffffff;
background-color: #428bca;
}
Per creare una navigazione verticale si aggiunge alla classe .nav-pills la classe .nav-stacked. Un esempio è la barra a sinistra di questa reference.
<ul class="nav nav-pills nav-stacked"> <li class="active"><a href="#">Item 1</a></li> <li><a href="#">Item 2</a></li> <li><a href="#">Item 3</a></li> </ul>