Plugin Bootstrap Affix (avanzato)
Il plug-in per affissi
Il plug-in Affix consente a un elemento di essere apposto (bloccato) in un'area della pagina. Viene spesso utilizzato con i menu di navigazione o i pulsanti delle icone social, per farli "attaccare" in un'area specifica mentre si scorre su e giù la pagina.
Il plug -in attiva e disattiva questo comportamento (modifica il valore di
CSS position
da static
a fixed
), a seconda della posizione di scorrimento.
Esempio 1) Una barra di navigazione apposta:
Esempio 2) Una barra laterale apposta:
Con Affix, quando scorriamo su e giù per la pagina, il menu è sempre visibile e bloccato nella sua posizione.
Come creare un menu di navigazione affisso
L'esempio seguente mostra come creare un menu di navigazione apposto orizzontale:
Esempio
<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
L'esempio seguente mostra come creare un menu di navigazione apposto in verticale:
Esempio
<ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
Esempio spiegato
Aggiungi data-spy="affix"
all'elemento che vuoi apporre.
Facoltativamente, aggiungi l' data-offset-top|bottom
attributo per calcolare la posizione della pergamena.
Come funziona
Il plug-in affix alterna tre classi: .affix
, .affix-top
, e
.affix-bottom
. Ogni classe rappresenta uno stato particolare. È necessario aggiungere proprietà CSS per gestire le posizioni effettive, ad eccezione della position:fixed
classe .affix
.
- Il plugin aggiunge la classe
.affix-top
o.affix-bottom
per indicare che l'elemento si trova nella sua posizione più in alto o più in basso. Il posizionamento con CSS non è richiesto a questo punto. - Scorrendo oltre l'elemento apposto si attiva l'apposizione effettiva: è qui che il plug-in sostituisce la classe
.affix-top
o.affix-bottom
con la.affix
classe (setsposition:fixed
). A questo punto, devi aggiungere il CSStop
o labottom
proprietà per posizionare l'elemento apposto nella pagina. - Se viene definito un offset inferiore, lo scorrimento oltre sostituisce la
.affix
classe con.affix-bottom
. Poiché gli offset sono opzionali, impostarne uno richiede di impostare il CSS appropriato. In questo caso, aggiungereposition:absolute
quando necessario.
Nel primo esempio sopra, il plugin Affix aggiunge la .affix
classe (position:fixed) all'elemento <nav> quando abbiamo fatto scorrere 197 pixel dall'alto. Se apri l'esempio, vedrai anche che abbiamo aggiunto la top
proprietà CSS con un valore di 0 alla .affix
classe. Questo per assicurarsi che la barra di navigazione rimanga sempre nella parte superiore della pagina, quando abbiamo fatto scorrere 197 pixel dall'alto.
Spia pergamena e apporre
Utilizzando il plug-in Affix insieme al plug-in Scrollspy:
Menu orizzontale (barra di navigazione)
<body data-spy="scroll" data-target=".navbar" data-offset="50">
<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
...
</nav>
</body>
Menu verticale (sidenav)
<body data-spy="scroll" data-target="#myScrollspy" data-offset="15">
<nav class="col-sm-3" id="myScrollspy">
<ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
...
</nav>
</body>
Riferimento completo per l'affisso Bootstrap
Per un riferimento completo di tutti i metodi e gli eventi di affissione, vai al nostro Riferimento affissione Bootstrap JS .