Bootstrap Affix-inprop (gevorderd)
Die Affix-inprop
Die Affix-inprop laat 'n element toe om aan 'n area op die bladsy geheg (gesluit) te word. Dit word dikwels gebruik met navigasie-kieslyste of sosiale ikoonknoppies, om hulle by 'n spesifieke area te laat "plak" terwyl hulle op en af op die bladsy blaai.
Die inprop skakel hierdie gedrag aan en af (verander die waarde van
van na ), afhangende van rolposisie .CSS position
static
fixed
Voorbeeld 1) 'n Geplakte navigasiebalk:
Voorbeeld 2) 'n Aangehegte sybalk:
Met Affix, wanneer ons op en af op die bladsy blaai, is die spyskaart altyd sigbaar en gesluit in sy posisie.
Hoe om 'n aangehegte navigasiekieslys te skep
Die volgende voorbeeld wys hoe om 'n horisontale aangehegte navigasiekieslys te skep:
Voorbeeld
<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
Die volgende voorbeeld wys hoe om 'n vertikale aangehegte navigasiekieslys te skep:
Voorbeeld
<ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
Voorbeeld Verduidelik
Voeg data-spy="affix"
by die element wat jy wil aanbring.
Voeg opsioneel die data-offset-top|bottom
kenmerk by om die posisie van die boekrol te bereken.
Hoe dit werk
Die affix-inprop wissel tussen drie klasse: .affix
, .affix-top
, en
.affix-bottom
. Elke klas verteenwoordig 'n spesifieke toestand. Jy moet CSS-eienskappe byvoeg om die werklike posisies te hanteer, met die uitsondering van position:fixed
op die .affix
klas.
- Die inprop voeg die
.affix-top
of.affix-bottom
klas by om aan te dui dat die element in sy boonste of onderste posisie is. Posisionering met CSS word nie op hierdie stadium vereis nie. - Deur verby die aangehegte element te blaai, veroorsaak dit die werklike aanbring - Dit is waar die inprop die
.affix-top
of.affix-bottom
klas vervang met die.affix
klas (stelleposition:fixed
). Op hierdie stadium moet jy die CSStop
ofbottom
eiendom byvoeg om die aangehegte element op die bladsy te posisioneer. - As 'n onderste offset gedefinieer is, vervang dit die
.affix
klas met.affix-bottom
. Aangesien afwykings opsioneel is, vereis die instelling van een dat u die toepaslike CSS instel. In hierdie geval, voeg byposition:absolute
wanneer nodig.
In die eerste voorbeeld hierbo voeg die Affix-inprop die .affix
klas (posisie:fixed) by die <nav>-element wanneer ons 197 pixels van bo af gerol het. As jy die voorbeeld oopmaak, sal jy ook sien dat ons die CSS top
-eienskap met 'n waarde van 0 by die .affix
klas gevoeg het. Dit is om seker te maak dat die navigasiebalk te alle tye bo-aan die bladsy bly, wanneer ons 197 pixels van bo af gerol het.
Scrollspy & Plak
Gebruik die Affix-inprop saam met die Scrollspy- inprop:
Horisontale spyskaart (navigasiebalk)
<body data-spy="scroll" data-target=".navbar" data-offset="50">
<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
...
</nav>
</body>
Vertikale spyskaart (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>
Voltooi Bootstrap Affix-verwysing
Vir 'n volledige verwysing van alle aanhegmetodes en -geleenthede, gaan na ons Bootstrap JS Affix-verwysing .