Dropdowns
Skiptu um samhengisyfirlag til að sýna lista yfir tengla og fleira með Bootstrap fellilistanum.
Hægt er að skipta um fellivalmyndir, samhengisyfirlögn til að birta tenglalista og fleira. Þeir eru gerðir gagnvirkir með meðfylgjandi Bootstrap JavaScript viðbótinni. Þeim er skipt með því að smella, ekki með því að sveima; þetta er viljandi hönnunarákvörðun.
Dropdowns eru byggðar á þriðja aðila bókasafni, Popper.js , sem veitir kraftmikla staðsetningu og uppgötvun útsýnisglugga. Vertu viss um að hafa popper.min.js á undan JavaScript Bootstrap eða notaðu bootstrap.bundle.min.js
/ bootstrap.bundle.js
sem inniheldur Popper.js. Popper.js er ekki notað til að staðsetja fellivalmyndir í navbars þó þar sem kraftmikil staðsetning er ekki nauðsynleg.
Ef þú ert að byggja JavaScript okkar frá uppruna, krefstutil.js
það .
WAI ARIA staðallinn skilgreinir raunverulega role="menu"
græju , en þetta er sérstakt fyrir forritalíka valmyndir sem kalla fram aðgerðir eða aðgerðir. ARIA valmyndir geta aðeins innihaldið valmyndaratriði, valmyndaratriði í gátreitum, valmyndaratriði fyrir valhnappa, valhnappahópa og undirvalmyndir.
Bootstrap fellivalmyndirnar eru aftur á móti hönnuð til að vera almenn og eiga við margvíslegar aðstæður og álagningaruppbyggingu. Til dæmis er hægt að búa til fellivalmyndir sem innihalda viðbótarinntak og formstýringar, svo sem leitarreitir eða innskráningareyðublöð. Af þessum sökum býst Bootstrap ekki við (né bætir sjálfkrafa við) neinum af role
og aria-
eiginleikum sem krafist er fyrir sannar ARIA valmyndir. Höfundar verða sjálfir að láta þessa sértækari eiginleika fylgja með.
Hins vegar bætir Bootstrap við innbyggðum stuðningi fyrir flest venjuleg lyklaborðsvalmyndasamskipti, svo sem möguleikann á að fara í gegnum einstaka .dropdown-item
þætti með því að nota bendilinn og loka valmyndinni með ESCtakkanum.
Vefjið fellivalmyndina (hnappinn þinn eða tengilinn) og fellivalmyndina innan .dropdown
, eða annan þátt sem lýsir yfir position: relative;
. Hægt er að kveikja á fellivalmyndum frá <a>
eða <button>
þáttum til að passa betur við hugsanlegar þarfir þínar.
Hægt er að breyta hverjum einasta .btn
í fellivalmynd með nokkrum álagningarbreytingum. Svona geturðu sett þá til að vinna með hvorum <button>
þáttunum:
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown button
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
Og með <a>
þætti:
<div class="dropdown show">
<a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown link
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
Það besta er að þú getur líka gert þetta með hvaða hnappafbrigði sem er:
Á sama hátt skaltu búa til fellivalmyndir fyrir skiptan hnapp með nánast sömu merkingu og fellivalmyndir með einum hnappi, en með því að bæta við .dropdown-toggle-split
fyrir rétt bil í kringum fellilistann.
Við notum þennan aukaflokk til að draga úr láréttu padding
hvoru megin við skjáinn um 25% og fjarlægja það margin-left
sem er bætt við fyrir venjulegar fellivalmyndir hnappa. Þessar aukabreytingar halda rammanum fyrir miðju í klofnahnappinum og bjóða upp á viðeigandi stærð höggsvæðis við hlið aðalhnappsins.
Hnappavalmyndir virka með hnöppum af öllum stærðum, þar með talið sjálfgefna og skiptan fellihnappa.
Kveiktu á fellivalmyndum fyrir ofan þætti með því að bæta .dropup
við foreldraeininguna.
Kveiktu á fellivalmyndum hægra megin við þættina með því að bæta .dropright
við yfireininguna.
Kveiktu á fellivalmyndum vinstra megin við þættina með því að bæta .dropleft
við yfireininguna.
Sögulega þurfti innihald fellivalmynda að vera tenglar, en það er ekki lengur raunin með v4. Nú geturðu valfrjálst notað <button>
þætti í fellilistanum þínum í staðinn fyrir bara <a>
s.
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
<button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button>
</div>
</div>
Sjálfgefið er að fellivalmynd er sjálfkrafa staðsett 100% efst og meðfram vinstri hlið foreldris. Bættu .dropdown-menu-right
við .dropdown-menu
til hægri stilltu fellivalmyndina.
Höfuð upp! Fellilistar eru staðsettir þökk sé Popper.js (nema þegar þeir eru að finna í navbar).
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Right-aligned menu
</button>
<div class="dropdown-menu dropdown-menu-right">
<button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button>
</div>
</div>
Bættu við haus til að merkja hluta aðgerða í hvaða fellivalmynd sem er.
<div class="dropdown-menu">
<h6 class="dropdown-header">Dropdown header</h6>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
</div>
Aðskildu hópa tengdra valmyndarhluta með skilrúmi.
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
Settu eyðublað í fellivalmynd, eða gerðu það í fellivalmynd, og notaðu spássíu eða fyllingu til að gefa því neikvæða plássið sem þú þarfnast.
<div class="dropdown-menu">
<form class="px-4 py-3">
<div class="form-group">
<label for="exampleDropdownFormEmail1">Email address</label>
<input type="email" class="form-control" id="exampleDropdownFormEmail1" placeholder="[email protected]">
</div>
<div class="form-group">
<label for="exampleDropdownFormPassword1">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword1" placeholder="Password">
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="dropdownCheck">
<label class="form-check-label" for="dropdownCheck">
Remember me
</label>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">New around here? Sign up</a>
<a class="dropdown-item" href="#">Forgot password?</a>
</div>
<form class="dropdown-menu p-4">
<div class="form-group">
<label for="exampleDropdownFormEmail2">Email address</label>
<input type="email" class="form-control" id="exampleDropdownFormEmail2" placeholder="[email protected]">
</div>
<div class="form-group">
<label for="exampleDropdownFormPassword2">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword2" placeholder="Password">
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="dropdownCheck2">
<label class="form-check-label" for="dropdownCheck2">
Remember me
</label>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
Bættu .active
við atriði í fellilistanum til að stilla þau sem virk .
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Regular link</a>
<a class="dropdown-item active" href="#">Active link</a>
<a class="dropdown-item" href="#">Another link</a>
</div>
Bættu .disabled
við atriði í fellilistanum til að stilla þá sem óvirka .
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Regular link</a>
<a class="dropdown-item disabled" href="#">Disabled link</a>
<a class="dropdown-item" href="#">Another link</a>
</div>
Með gagnaeiginleikum eða JavaScript breytir fellivalmyndinni falið efni (fellivalmyndir) með því að skipta um .show
bekk á yfirliðinu á listanum. Stuðst data-toggle="dropdown"
er við eiginleikann til að loka fellivalmyndum á forritastigi, svo það er góð hugmynd að nota hann alltaf.
Á snertivirkum tækjum bætir opnun fellivalmyndar tómum ( $.noop
) mouseover
meðhöndlum við strax börn <body>
frumefnisins. Þetta óneitanlega ljóta hakk er nauðsynlegt til að vinna í kringum sérkenni í viðburðaútsendingu iOS , sem annars myndi koma í veg fyrir að smellt væri hvar sem er fyrir utan fellilistann kveiki kóðann sem lokar fellilistanum. Þegar fellilistanum er lokað eru þessir tómu mouseover
meðhöndlarar til viðbótar fjarlægðir.
Bættu data-toggle="dropdown"
við tengil eða hnapp til að skipta um fellilista.
Hringdu í fellilistana í gegnum JavaScript:
data-toggle="dropdown"
enn krafist
Óháð því hvort þú hringir í fellilistann þinn í gegnum JavaScript eða notar þess í stað gagna-api, data-toggle="dropdown"
þarf alltaf að vera til staðar á kveikjuhluta fellilistans.
Hægt er að senda valkosti í gegnum gagnaeiginleika eða JavaScript. Fyrir gagnaeiginleika skaltu bæta heiti valkostsins við data-
, eins og í data-offset=""
.
Nafn | Tegund | Sjálfgefið | Lýsing |
---|---|---|---|
á móti | númer | strengur | virka | 0 | Jöfnun á fellilistanum miðað við markmið hans. Nánari upplýsingar er að finna í offset skjölum Popper.js . |
fletta | Boolean | satt | Leyfa fellilistanum að snúa við ef skarast á viðmiðunareiningunni. Nánari upplýsingar er að finna í flip-skjölum Popper.js . |
mörk | strengur | þáttur | 'scrollParent' | Yfirfallsþvingunarmörk fellivalmyndarinnar. Samþykkir gildin 'viewport' , 'window' , 'scrollParent' , eða HTMLElement tilvísun (aðeins JavaScript). Nánari upplýsingar er að finna í preventOverflow skjölum Popper.js . |
Athugaðu þegar boundary
er stillt á annað gildi en 'scrollParent'
, stíllinn position: static
er notaður á .dropdown
ílátið.
Aðferð | Lýsing |
---|---|
$().dropdown('toggle') |
Skiptir á fellivalmynd tiltekinnar siglingastiku eða flipaleiðsögu. |
$().dropdown('update') |
Uppfærir staðsetningu fellilista þáttar. |
$().dropdown('dispose') |
Eyðir fellivalmynd frumefnis. |
Allir fellilistaviðburðir eru ræstir á .dropdown-menu
's parent element og hafa relatedTarget
eiginleika, sem gildir er skipta akkeri þáttur.
Viðburður | Lýsing |
---|---|
show.bs.dropdown |
Þessi atburður ræsir strax þegar sýningartilviksaðferðin er kölluð. |
shown.bs.dropdown |
Þessi atburður er ræstur þegar fellivalmyndin hefur verið gerð sýnileg notanda (mun bíða eftir CSS umskiptum til að ljúka). |
hide.bs.dropdown |
Þessi atburður er ræstur strax þegar fela tilviksaðferðin hefur verið kölluð. |
hidden.bs.dropdown |
Þessi atburður er ræstur þegar fellivalmyndinni hefur verið falið fyrir notandanum (bíður eftir CSS umskiptum til að ljúka). |