Bootstrap Affix Plugin (pokročilý)
Plugin Afix
Plugin Affix umožňuje, aby se prvek připojil (zamkl) k oblasti na stránce. To se často používá s navigačními nabídkami nebo tlačítky sociálních ikon, aby se „přilepily“ na určitou oblast při posouvání nahoru a dolů po stránce.
Plugin toto chování zapíná a vypíná (mění hodnotu
CSS position
z static
na fixed
), v závislosti na pozici posouvání.
Příklad 1) Připojený navigační panel:
Příklad 2) Připojený postranní panel:
S Affixem, když posouváme stránku nahoru a dolů, je nabídka vždy viditelná a uzamčená na své pozici.
Jak vytvořit připojenou navigační nabídku
Následující příklad ukazuje, jak vytvořit horizontální připojenou navigační nabídku:
Příklad
<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
Následující příklad ukazuje, jak vytvořit vertikální připojenou navigační nabídku:
Příklad
<ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
Příklad vysvětlen
Přidejte data-spy="affix"
k prvku, který chcete připevnit.
Volitelně přidejte data-offset-top|bottom
atribut pro výpočet pozice svitku.
Jak to funguje
Plugin pro afix přepíná mezi třemi třídami: .affix
, .affix-top
a
.affix-bottom
. Každá třída představuje určitý stav. Musíte přidat vlastnosti CSS, abyste zvládli skutečné pozice, s výjimkou position:fixed
na .affix
třídě.
- Plugin přidá třídu
.affix-top
nebo.affix-bottom
, aby indikoval, že prvek je na své nejvyšší nebo nejnižší pozici. Polohování pomocí CSS není v tomto okamžiku vyžadováno. - Posouváním za afixovaný prvek spouští skutečné připojení – zde plugin nahradí třídu
.affix-top
nebo třídou (sets ). V tomto okamžiku musíte přidat CSS nebo vlastnost, abyste umístili připojený prvek na stránku..affix-bottom
.affix
position:fixed
top
bottom
- Je-li definováno odsazení dna, posunutím za něj se
.affix
třída nahradí znakem.affix-bottom
. Vzhledem k tomu, že offsety jsou volitelné, nastavení jednoho vyžaduje, abyste nastavili příslušné CSS. V tomto případě v případě potřeby přidejteposition:absolute
.
V prvním příkladu výše plugin Affix přidá .affix
třídu (position:fixed) do prvku <nav>, když se posuneme o 197 pixelů shora. Pokud příklad otevřete, uvidíte také, že jsme top
do třídy přidali vlastnost CSS s hodnotou 0 .affix
. Je to proto, abychom se ujistili, že navigační lišta zůstane po celou dobu v horní části stránky, když se posuneme o 197 pixelů shora.
Scrollspy & Affix
Použití pluginu Affix spolu s pluginem Scrollspy :
Horizontální nabídka (Navbar)
<body data-spy="scroll" data-target=".navbar" data-offset="50">
<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
...
</nav>
</body>
Vertikální nabídka (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>
Vyplňte referenční příponu Bootstrap
Úplnou referenci o všech metodách a událostech připojování naleznete v naší Referenční příručce pro připojení Bootstrap JS .