Bootstrap - Navbar

La barra di navigazione è una delle caratteristiche principali dei siti Bootstrap. Le barre di navigazione sono componenti "meta" reattivi che fungono da intestazioni di navigazione per l'applicazione o il sito. Le barre di navigazione si comprimono nelle viste mobili e diventano orizzontali all'aumentare della larghezza della finestra disponibile. Al centro, la barra di navigazione include lo stile per i nomi dei siti e la navigazione di base.

Navbar predefinita

Per creare una barra di navigazione predefinita:

  • Aggiungi le classi .navbar, .navbar-default al tag <nav>.

  • Inserisci role = "navigation" all'elemento di cui sopra, per aiutare con l'accessibilità.

  • Aggiungi una classe di intestazione .navbar-headerall'elemento <div>. Includi un elemento <a> con classnavbar-brand. Questo darà al testo una dimensione leggermente più grande.

  • Per aggiungere collegamenti alla barra di navigazione, aggiungi semplicemente un elenco non ordinato con le classi di .nav, .navbar-nav.

Il seguente esempio lo dimostra:

<nav class = "navbar navbar-default" role = "navigation">

   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <ul class = "nav navbar-nav">
         <li class = "active"><a href = "#">iOS</a></li>
         <li><a href = "#">SVN</a></li>
			
         <li class = "dropdown">
            <a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">
               Java 
               <b class = "caret"></b>
            </a>
            
            <ul class = "dropdown-menu">
               <li><a href = "#">jmeter</a></li>
               <li><a href = "#">EJB</a></li>
               <li><a href = "#">Jasper Report</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">Separated link</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">One more separated link</a></li>
            </ul>
         </li>
      </ul>
   </div>
</nav>

Navbar reattivo

Per aggiungere funzionalità reattive alla barra di navigazione, il contenuto che vuoi comprimere deve essere racchiuso in un <div> con classi .collapse, .navbar-collapse. La natura che crolla è fatta scattare da un pulsante che ha la classe di.navbar-togglee quindi presenta due elementi di dati. Il primo,data-toggle, viene utilizzato per indicare a JavaScript cosa fare con il pulsante e il secondo, data-target, indica quale elemento attivare / disattivare. Poi con una classe .icon-barcreare quello che ci piace chiamare il pulsante dell'hamburger. Questo attiverà gli elementi che si trovano nel file .nav-collapse<div>. Affinché questa funzionalità funzioni, è necessario includere il plug-in di compressione Bootstrap .

Il seguente esempio lo dimostra:

<nav class = "navbar navbar-default" role = "navigation">
   
   <div class = "navbar-header">
      <button type = "button" class = "navbar-toggle" 
         data-toggle = "collapse" data-target = "#example-navbar-collapse">
         <span class = "sr-only">Toggle navigation</span>
         <span class = "icon-bar"></span>
         <span class = "icon-bar"></span>
         <span class = "icon-bar"></span>
      </button>
		
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div class = "collapse navbar-collapse" id = "example-navbar-collapse">
	
      <ul class = "nav navbar-nav">
         <li class = "active"><a href = "#">iOS</a></li>
         <li><a href = "#">SVN</a></li>
			
         <li class = "dropdown">
            <a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">
               Java 
               <b class = "caret"></b>
            </a>
            
            <ul class = "dropdown-menu">
               <li><a href = "#">jmeter</a></li>
               <li><a href = "#">EJB</a></li>
               <li><a href = "#">Jasper Report</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">Separated link</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">One more separated link</a></li>
            </ul>
         </li>
      </ul>
   </div>
</nav>

Moduli in Navbar

Invece di usare i moduli predefiniti basati su classi da Chapter Bootstrap Forms , i moduli che si trovano nella barra di navigazione, usa il.navbar-formclasse. Ciò garantisce il corretto allineamento verticale del modulo e il comportamento compresso nelle finestre strette. Usa le opzioni di allineamento (spiegate nella sezione Allineamento dei componenti) per decidere dove risiede all'interno del contenuto della barra di navigazione.

Il seguente esempio lo dimostra:

<nav class = "navbar navbar-default" role = "navigation">
   
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <form class = "navbar-form navbar-left" role = "search">
         
         <div class = "form-group">
            <input type = "text" class = "form-control" placeholder = "Search">
         </div>
         <button type = "submit" class = "btn btn-default">Submit</button>
         
      </form>    
   </div>
   
</nav>

Pulsanti in Navbar

Puoi aggiungere pulsanti usando class .navbar-btn a <button> elementi che non risiedono in un <form> per centrarli verticalmente nella barra di navigazione. .navbar-btn può essere utilizzato sugli elementi <a> e <input>.

Non usare .navbar-btnné le classi di pulsanti standard sugli elementi <a> all'interno .navbar-nav.

Il seguente esempio lo dimostra:

<nav class = "navbar navbar-default" role = "navigation">
   
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <form class = "navbar-form navbar-left" role = "search">
         <div class = "form-group">
            <input type = "text" class = "form-control" placeholder = "Search">
         </div>
			
         <button type = "submit" class = "btn btn-default">Submit Button</button>
      </form>  
		
      <button type = "button" class = "btn btn-default navbar-btn">Navbar Button</button>
   </div>
</nav>

Testo in Navbar

Per avvolgere stringhe di testo in un elemento usa la classe .navbar-text. Di solito viene utilizzato con il tag <p> per una corretta interlinea e colore. Il seguente esempio lo dimostra:

<nav class = "navbar navbar-default" role = "navigation">
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <p class = "navbar-text">Signed in as Thomas</p>
   </div>
</nav>

Collegamenti non di navigazione

Se desideri utilizzare i collegamenti standard che non si trovano nel normale componente di navigazione della barra di navigazione, utilizza la classe navbar-link per aggiungere i colori corretti per le opzioni della barra di navigazione predefinite e inverse come mostrato nell'esempio seguente:

<nav class = "navbar navbar-default" role = "navigation">
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <p class = "navbar-text navbar-right">
         Signed in as 
         <a href = "#" class = "navbar-link">Thomas</a>
      </p>
   </div>
</nav>

Allineamento dei componenti

Puoi allineare i componenti come collegamenti di navigazione, moduli, pulsanti o testo a sinistra oa destra in una barra di navigazione utilizzando le classi di utilità.navbar-left o .navbar-right. Entrambe le classi aggiungeranno un float CSS nella direzione specificata. Il seguente esempio lo dimostra:

<nav class = "navbar navbar-default" role = "navigation">
   
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      
      <!--Left Align-->
      <ul class = "nav navbar-nav navbar-left">
         <li class = "dropdown">
            <a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">
               Java 
               <b class = "caret"></b>
            </a>
            
            <ul class = "dropdown-menu">
               <li><a href = "#">jmeter</a></li>
               <li><a href = "#">EJB</a></li>
               <li><a href = "#">Jasper Report</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">Separated link</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">One more separated link</a></li>
            </ul>
            
         </li>
      </ul>
      
      <form class = "navbar-form navbar-left" role = "search">
         <button type = "submit" class = "btn btn-default">Left align-Submit Button</button>
      </form> 
      
      <p class = "navbar-text navbar-left">Left align-Text</p>
      
      <!--Right Align-->
      <ul class = "nav navbar-nav navbar-right">
         <li class = "dropdown">
            <a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">
               Java 
               <b class = "caret"></b>
            </a>
            
            <ul class = "dropdown-menu">
               <li><a href = "#">jmeter</a></li>
               <li><a href = "#">EJB</a></li>
               <li><a href = "#">Jasper Report</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">Separated link</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">One more separated link</a></li>
            </ul>
            
         </li>
      </ul>
      
      <form class = "navbar-form navbar-right" role = "search">
         <button type = "submit" class = "btn btn-default">
            Right align-Submit Button
         </button>
      </form> 
		
      <p class = "navbar-text navbar-right">Right align-Text</p>
      
   </div>
</nav>

Fisso in alto

La barra di navigazione Bootstrap può essere dinamica nel suo posizionamento. Per impostazione predefinita, è un elemento a livello di blocco che prende il suo posizionamento in base al suo posizionamento nell'HTML. Con alcune classi helper, puoi posizionarlo nella parte superiore o inferiore della pagina oppure puoi farlo scorrere staticamente con la pagina.

Se vuoi che la barra di navigazione sia fissata in alto, aggiungi classe .navbar-fixed-top al .navbar class. Il seguente esempio lo dimostra:

Per evitare che la barra di navigazione si trovi sopra altri contenuti nel corpo della pagina, aggiungi almeno 50 pixel di spaziatura interna al tag <body> o prova i tuoi valori.
<nav class = "navbar navbar-default navbar-fixed-top" role = "navigation">
   
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <ul class = "nav navbar-nav">
         <li class = "active"><a href = "#">iOS</a></li>
         <li><a href = "#">SVN</a></li>
         
         <li class = "dropdown">
            <a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">
               Java
               <b class = "caret"></b>
            </a>
            
            <ul class = "dropdown-menu">
               <li><a href = "#">jmeter</a></li>
               <li><a href = "#">EJB</a></li>
               <li><a href = "#">Jasper Report</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">Separated link</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">One more separated link</a></li>
            </ul>
            
         </li>
      </ul>
   </div>
   
</nav>

Fisso in basso

Se vuoi che la barra di navigazione sia fissata in fondo alla pagina, aggiungi classe .navbar-fixed-bottom al .navbar class. Il seguente esempio lo dimostra:

<nav class = "navbar navbar-default navbar-fixed-bottom" role = "navigation">
   
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <ul class = "nav navbar-nav">
         <li class = "active"><a href = "#">iOS</a></li>
         <li><a href="#">SVN</a></li>
         
         <li class = "dropdown">
            <a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">
               Java
               <b class ="caret"></b>
            </a>
            
            <ul class = "dropdown-menu">
               <li><a href = "#">jmeter</a></li>
               <li><a href = "#">EJB</a></li>
               <li><a href = "#">Jasper Report</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">Separated link</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">One more separated link</a></li>
            </ul>
            
         </li>
      </ul>
   </div>
</nav>

Top statico

Per creare una barra di navigazione che scorre con la pagina, aggiungi il file .navbar-static-topclasse. Questa classe non richiede l'aggiunta del riempimento a <body>.

<nav class = "navbar navbar-default navbar-static-top" role = "navigation">
   
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <ul class = "nav navbar-nav">
         <li class = "active"><a href = "#">iOS</a></li>
         <li><a href = "#">SVN</a></li>
         
         <li class = "dropdown">
            <a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">
               Java
               <b class = "caret"></b>
            </a>
				
            <ul class = "dropdown-menu">
               <li><a href = "#">jmeter</a></li>
               <li><a href = "#">EJB</a></li>
               <li><a href = "#">Jasper Report</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">Separated link</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">One more separated link</a></li>
            </ul>
            
         </li>
      </ul>
   </div>
</nav>

Barra di navigazione invertita

Per creare una barra di navigazione invertita con uno sfondo nero e con testo bianco, aggiungi semplicemente il file .navbar-inverse classe al .navbar classe come dimostrato nel seguente esempio:

Per evitare che la barra di navigazione si trovi sopra altri contenuti nel corpo della pagina, aggiungi almeno 50 pixel di spaziatura interna al tag <body> o prova i tuoi valori.
<nav class = "navbar navbar-inverse" role = "navigation">
   
   <div class = "navbar-header">
      <a class = "navbar-brand" href = "#">TutorialsPoint</a>
   </div>
   
   <div>
      <ul class = "nav navbar-nav">
         <li class = "active"><a href = "#">iOS</a></li>
         <li><a href = "#">SVN</a></li>
         <li class = "dropdown">
            <a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">
               Java
               <b class = "caret"></b>
            </a>
            
            <ul class = "dropdown-menu">
               <li><a href = "#">jmeter</a></li>
               <li><a href = "#">EJB</a></li>
               <li><a href = "#">Jasper Report</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">Separated link</a></li>
               
               <li class = "divider"></li>
               <li><a href = "#">One more separated link</a></li>
            </ul>
            
         </li>
      </ul>
   </div>
</nav>