Impostare le icone in jQuery Mobile Navbar
In un articolo precedente avevo mostrato come usare Navbar per creare un menu a tab in una pagina con jQuery Mobile.
Oggi vediamo come sia semplice impostare le icone e anche come usare quelle personalizzate piuttosto che quelle standard.
Senza ricominciare da capo, partiamo direttamente da un normale footer con navbar:
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#adv">Advertising</a></li>
</ul>
</div>
</div>
Per le icone abbiamo due impostazioni:
- la posizione
- l'icona
Di default la posizione è impostata su TOP, ma possiamo cambiarla così:
<div data-role="navbar" data-iconpos="bottom">
Per impostare l'icona invece:
<li><a href="#home" data-icon="home">Home</a></li>
<li><a href="#adv" data-icon="grid">Advertising</a></li>
Usiamo data-icon indicando un'icona.
Qui la lista di quelle standard.
Se invece vogliamo usarne una personale dobbiamo fare un pò di lavoro in più.
Create un nuovo file CSS e includetelo nell'header.
Dentro metteteci una cosa del genere:
.nav-myicon .ui-btn .ui-btn-inner {
padding-top: 40px !important;
}
.nav-myicon .ui-btn .ui-icon {
width: 30px !important;
height: 30px !important;
margin-left: -15px !important;
box-shadow: none !important;
-moz-box-shadow: none !important;
-webkit-box-shadow: none !important;
-webkit-border-radius: none !important;
border-radius: none !important;
}
#h .ui-icon {
background: url(http://www.sito.it/app/icons/home.png) 50% 50% no-repeat;
background-size: 25px 25px;
}
#a .ui-icon {
background: url(http://www.sito.it/app/icons/pdv.png) 50% 50% no-repeat;
background-size: 25px 25px;
}
Prima abbiamo impostato alcune regole generali.
Sotto richiamiamo gli id di quelli con l'icona personalizzata.
Il footer cambierà in questa maniera:
<div data-role="footer" data-position="fixed" class="nav-myicon">
<div data-role="navbar" class="nav-myicon" data-grid="d">
<ul>
<li><a href="#home" id="h" data-icon="custom"></a></li>
<li><a href="#adv" id="a" data-icon="custom"></a></li>
</ul>
</div>
</div>
Abbiamo aggiunto alcune classi al footer e alla navbar.
Poi gli id ai link e impostato data-icon su custom.
Infine, io, ho anche levato il nome dei link per lasciare solo le icone, ma non è obbligatorio ovviamente.
Come background-size dovete dargli la dimensione dell'icona.
La cosa importante da notare è che come percorso dell'immagine dovete dargli quello assoluto; dandogli quello relativo a me non ha funzionato.
jquery jquery mobile footer navbar
Commentami!