Ŝaltu kuntekstajn supermetaĵojn por montri listojn de ligiloj kaj pli kun la menu-aldonaĵo Bootstrap.
Superrigardo
Dropdowns estas ŝanĝeblaj, kuntekstaj supermetaĵoj por montri listojn de ligiloj kaj pli. Ili fariĝas interagaj per la inkluzivita Bootstrap-falumenuo JavaScript-kromaĵo. Ili estas ŝanĝitaj per klakado, ne per ŝvebado; ĉi tio estas intencita desegna decido .
Dropdowns estas konstruitaj sur triaparta biblioteko, Popper.js , kiu disponigas dinamikan poziciigon kaj vidfenestrodetekton. Nepre inkluzivu popper.min.js antaŭ la JavaScript de Bootstrap aŭ uzu bootstrap.bundle.min.js/ bootstrap.bundle.jskiu enhavas Popper.js. Popper.js ne kutimas poziciigi falmenuojn en navbaroj tamen ĉar dinamika poziciigado ne estas postulata.
Se vi konstruas nian JavaScript el la fonto, ĝi postulasutil.js .
Alirebleco
La WAI ARIA normo difinas realan role="menu"fenestraĵon , sed ĉi tio estas specifa por aplikaĵ-similaj menuoj kiuj ekigas agojn aŭ funkciojn. ARIA- menuoj povas enhavi nur menueroj, markobutono menueroj, radiobutono menueroj, radiobutongrupoj kaj submenuoj.
La menuoj de Bootstrap, aliflanke, estas desegnitaj por esti ĝeneralaj kaj aplikeblaj al diversaj situacioj kaj markadaj strukturoj. Ekzemple, eblas krei falmenuojn kiuj enhavas pliajn enigojn kaj formularajn kontrolojn, kiel serĉkampojn aŭ ensalutformularojn. Tial, Bootstrap ne atendas (nek aŭtomate aldonas) iun ajn el la rolekaj aria-atributoj necesaj por veraj ARIA- menuoj. Aŭtoroj devos mem inkluzivi ĉi tiujn pli specifajn atributojn.
Tamen, Bootstrap aldonas enkonstruitan subtenon por la plej multaj normaj klavaraj menuinteragoj, kiel ekzemple la kapablo moviĝi tra individuaj .dropdown-itemelementoj uzante la kursorajn klavojn kaj fermi la menuon per la ESCklavo.
Ekzemploj
Envolvu la baskulon de la falmenuo (via butono aŭ ligilo) kaj la falmenuon ene de .dropdown, aŭ alia elemento kiu deklaras position: relative;. Dropdowns povas esti ekigitaj de <a>aŭ <button>elementoj por pli bone konveni viajn eblajn bezonojn.
Ununura butono
Ajna unuopaĵo .btnpovas esti igita falmenumo kun iuj markadaj ŝanĝoj. Jen kiel vi povas funkcii ilin per ambaŭ <button>elementoj:
Simile, kreu dividitajn butonajn falmenuojn kun preskaŭ la sama markado kiel ununuraj butonfalmenuoj, sed kun la aldono de .dropdown-toggle-splitpor taŭga interspaco ĉirkaŭ la falmenumo.
Ni uzas ĉi tiun ekstran klason por redukti la horizontalon paddingĉe ambaŭ flankoj de la kamero je 25% kaj forigi la margin-leftaldonitan por regulaj butonfalumoj. Tiuj kromaj ŝanĝoj tenas la signon centrita en la dividita butono kaj provizas pli taŭge grandecon trafitan areon apud la ĉefa butono.
Historie falmenuaj enhavoj devis esti ligiloj, sed tio ne plu okazas ĉe v4. Nun vi povas laŭvole uzi <button>elementojn en viaj falmenuoj anstataŭ nur <a>s.
Vi ankaŭ povas krei ne-interagajn menumenuojn per .dropdown-item-text. Bonvolu stiligi plu per kutimaj CSS aŭ tekstaj utilecoj.
Defaŭlte, falmenuo estas aŭtomate poziciigita 100% de la supro kaj laŭ la maldekstra flanko de sia gepatro. Aldonu .dropdown-menu-rightal .dropdown-menudekstre vicigi la falmenuon.
Atentu! Dropdowns estas poziciigitaj danke al Popper.js (krom kiam ili estas enhavitaj en navbar).
Respondema vicigo
Se vi volas uzi respondeman vicigon, malŝaltu dinamikan poziciigon aldonante la data-display="static"atributon kaj uzu la respondemajn variajn klasojn.
Por vicigi dekstre la falmenuon kun la donita rompopunkto aŭ pli granda, aldonu .dropdown-menu{-sm|-md|-lg|-xl}-right.
Por vicigi maldekstren la falmenuon kun la donita rompopunkto aŭ pli granda, aldonu .dropdown-menu-rightkaj .dropdown-menu{-sm|-md|-lg|-xl}-left.
Notu, ke vi ne bezonas aldoni data-display="static"atributon al falbutonoj en navbaroj, ĉar Popper.js ne estas uzata en navbaroj.
Enhavo de la menuo
Kapoj
Aldonu kaplinion por etikedi sekciojn de agoj en iu ajn falmenuo.
Metu ajnan liberforman tekston en falmenuon kun teksto kaj uzu interspacajn utilecojn . Notu, ke vi verŝajne bezonos pliajn grandecostilojn por limigi la menuan larĝecon.
Iu ekzemplo teksto kiu estas liberflua ene de la falmenuo.
Kaj ĉi tio estas pli ekzempla teksto.
Formoj
Metu formularon en falmenuon, aŭ transformu ĝin en falmenuon, kaj uzu marĝenajn aŭ kompletigajn ilojn por doni al ĝi la negativan spacon, kiun vi postulas.
Per datumaj atributoj aŭ JavaScript, la falmenuo aldonaĵo ŝanĝas kaŝitan enhavon (falmenuoj) ŝanĝante la .showklason sur la gepatra listo. La data-toggle="dropdown"atributo estas fidata por fermi falmenuojn ĉe aplika nivelo, do estas bona ideo ĉiam uzi ĝin.
Sur tuŝ-ebligitaj aparatoj, malfermi falmenuon aldonas malplenajn ( $.noop) mouseoverpritraktilojn al la tujaj infanoj de la <body>elemento. Ĉi tiu certe malbela hako estas necesa por labori ĉirkaŭ strangaĵo en la eventa delegacio de iOS , kiu alie malhelpus frapeton ie ajn ekster la falmenuo ekfunkciigi la kodon, kiu fermas la falmenuon. Post kiam la menuo estas fermita, ĉi tiuj aldonaj malplenaj mouseoverpritraktiloj estas forigitaj.
Per datumaj atributoj
Aldonu data-toggle="dropdown"al ligilo aŭ butono por ŝanĝi falmenuon.
Per JavaScript
Voku la menuojn per JavaScript:
data-toggle="dropdown"ankoraŭ bezonata
Sendepende de ĉu vi nomas vian falmenuon per JavaScript aŭ anstataŭe uzas la datumoj-api, data-toggle="dropdown"ĉiam necesas ĉeesti sur la ellasilelemento de la menuo.
Opcioj
Opcioj povas esti pasitaj per datumaj atributoj aŭ JavaScript. Por datumaj atributoj, aldonu la opcionomon al data-, kiel en data-offset="".
Nomo
Tajpu
Defaŭlte
Priskribo
ofseto
nombro | ŝnuro | funkcio
0
Ofseto de la falmenuo relative al ĝia celo.
Kiam funkcio estas uzata por determini la ofseton, ĝi estas vokita kun objekto enhavanta la ofsetajn datumojn kiel sia unua argumento. La funkcio devas redoni objekton kun la sama strukturo. La ekiga elemento DOM-nodo estas pasita kiel la dua argumento.
Por pliaj informoj raportu al la ofsetaj dokumentoj de Popper.js .
Superflua limo limo de la falmenuo. Akceptas la valorojn de 'viewport', 'window', 'scrollParent', aŭ HTMLElement-referenco (nur JavaScript). Por pliaj informoj raportu al preventOverflow- dokumentoj de Popper.js .
Notu, kiam boundaryestas agordita al iu ajn valoro krom 'scrollParent', la stilo position: staticestas aplikata al la .dropdownujo.
Metodoj
Metodo
Priskribo
$().dropdown('toggle')
Ŝaltas la falmenuon de difinita navbreto aŭ klapeta navigado.
$().dropdown('show')
Montras la falmenuon de difinita navigado aŭ klapeta navigado.
$().dropdown('hide')
Kaŝas la falmenuon de difinita navbreto aŭ klapeta navigado.
$().dropdown('update')
Ĝisdatigas la pozicion de la menuo de elemento.
$().dropdown('dispose')
Detruas la falmenuon de elemento.
Eventoj
Ĉiuj falmenuaj eventoj estas pafitaj ĉe la .dropdown-menugepatra elemento de la ' kaj havas relatedTargetposedaĵon, kies valoro estas la ŝanĝanta ankrelemento. hide.bs.dropdownkaj hidden.bs.dropdowneventoj havas clickEventposedaĵon (nur kiam la origina eventospeco estas click) kiu enhavas Event Object por la klaka evento.
Evento
Priskribo
show.bs.dropdown
Ĉi tiu evento tuj ekfunkciigas kiam la metodo de spektaklo estas vokita.
shown.bs.dropdown
Ĉi tiu evento estas pafita kiam la falmenuo fariĝis videbla al la uzanto (atendos CSS-transirojn, por plenumi).
hide.bs.dropdown
Ĉi tiu evento estas lanĉita tuj kiam la metodo kaŝi kazon estas vokita.
hidden.bs.dropdown
Ĉi tiu evento estas pafita kiam la menuo finiĝis kaŝita de la uzanto (atendos CSS-transirojn, por finiĝi).