Prebacite kontekstualne preklapanja za prikaz lista veza i više pomoću padajućeg dodatka Bootstrap.
Pregled
Padajući meni su promenljivi, kontekstualni preklopi za prikaz lista veza i još mnogo toga. Učinjeni su interaktivnim pomoću uključenog Bootstrap padajućeg JavaScript dodatka. Prebacuju se klikom, a ne lebdenjem; ovo je namjerna dizajnerska odluka .
Padajući meni su izgrađeni na biblioteci treće strane, Popper.js , koja pruža dinamičko pozicioniranje i detekciju okvira prikaza. Obavezno uključite popper.min.js prije Bootstrap-ovog JavaScript-a ili koristite bootstrap.bundle.min.js/ bootstrap.bundle.jskoji sadrži Popper.js. Popper.js se ne koristi za pozicioniranje padajućih menija u navigacijskim trakama, iako dinamičko pozicioniranje nije potrebno.
WAI ARIA standard definira stvarni role="menu"widget , ali ovo je specifično za menije nalik aplikacijama koji pokreću akcije ili funkcije . ARIA meniji mogu sadržavati samo stavke menija, stavke menija za potvrdu, stavke menija radio dugmadi, grupe radio dugmadi i podmenije.
Bootstrap-ovi padajući menii, s druge strane, dizajnirani su da budu generički i primjenjivi na različite situacije i strukture označavanja. Na primjer, moguće je kreirati padajuće menije koji sadrže dodatne unose i kontrole obrasca, kao što su polja za pretraživanje ili obrasci za prijavu. Iz tog razloga, Bootstrap ne očekuje (niti automatski dodaje) nijedan od rolei aria-atributa potrebnih za prave ARIA menije. Autori će morati sami uključiti ove specifičnije atribute.
Međutim, Bootstrap dodaje ugrađenu podršku za većinu standardnih interakcija menija na tastaturi, kao što je mogućnost kretanja kroz pojedinačne .dropdown-itemelemente pomoću tastera sa strelicama i zatvaranje menija pomoću ESCtastera.
Primjeri
Zamotajte prekidač padajućeg menija (vaše dugme ili veza) i padajući meni unutar .dropdownili u drugi element koji deklariše position: relative;. Padajući meni mogu se pokrenuti iz <a>ili <button>elemenata kako bi bolje odgovarali vašim potencijalnim potrebama.
Jedno dugme
Bilo koji singl .btnse može pretvoriti u padajući prekidač uz neke izmjene oznaka. Evo kako ih možete staviti da rade sa bilo kojim <button>elementom:
Slično, kreirajte padajuće menije sa podeljenim dugmetom sa bukvalno istim oznakama kao padajuće menije sa jednim dugmetom, ali sa dodatkom .dropdown-toggle-splitza pravilan razmak oko padajućeg kursora.
Koristimo ovu dodatnu klasu da smanjimo horizontalu paddingsa obe strane kursora za 25% i uklonimo ono margin-leftšto je dodato za obične padajuće dugme. Te dodatne promjene drže kursor centriranim u podijeljenom gumbu i obezbjeđuju pogodnije područje za pogodak pored glavnog dugmeta.
Istorijski je sadržaj padajućeg menija morao biti link, ali to više nije slučaj sa v4. Sada možete opciono koristiti <button>elemente u svojim padajućim menijima umjesto samo <a>s.
Također možete kreirati neinteraktivne padajuće stavke sa .dropdown-item-text. Slobodno dodatno stilizujte sa prilagođenim CSS ili tekstualnim uslužnim programima.
Podrazumevano, padajući meni se automatski pozicionira 100% od vrha i duž leve strane svog nadređenog. Dodajte .dropdown-menu-rightna .dropdown-menudesno poravnajte padajući meni.
Glavu gore! Padajući meni su pozicionirani zahvaljujući Popper.js (osim kada su sadržani u navigacijskoj traci).
Responsive alignment
Ako želite koristiti responzivno poravnanje, onemogućite dinamičko pozicioniranje dodavanjem data-display="static"atributa i koristite klase varijacija koje odgovaraju.
Za poravnanje desnog padajućeg menija sa datom tačkom prekida ili većom, dodajte .dropdown-menu{-sm|-md|-lg|-xl}-right.
Za poravnanje lijevog padajućeg menija sa datom tačkom prekida ili većom, dodajte .dropdown-menu-righti .dropdown-menu{-sm|-md|-lg|-xl}-left.
Imajte na umu da ne morate dodavati data-display="static"atribut padajućim dugmadima u navigacijskim trakama, pošto se Popper.js ne koristi u navigacijskim trakama.
Sadržaj menija
Zaglavlja
Dodajte zaglavlje da označite dijelove radnji u bilo kojem padajućem izborniku.
Postavite bilo koji tekst slobodnog oblika unutar padajućeg menija sa tekstom i koristite alate za razmak . Imajte na umu da će vam vjerovatno trebati dodatni stilovi veličine kako biste ograničili širinu menija.
Neki primjer teksta koji slobodno teče unutar padajućeg menija.
A ovo je još primjer teksta.
Forms
Stavite obrazac u padajući meni ili ga pretvorite u padajući meni i koristite uslužne programe za margine ili padding da biste mu dali negativni prostor koji vam je potreban.
Preko atributa podataka ili JavaScript-a, padajući dodatak uključuje skriveni sadržaj (padajući meniji) tako što uključuje .showklasu na roditeljskoj listi. Atribut data-toggle="dropdown"se oslanja na zatvaranje padajućih menija na nivou aplikacije, tako da je dobra ideja da ga uvijek koristite.
Na uređajima koji imaju mogućnost dodira, otvaranje padajućeg menija dodaje prazne ( $.noop) mouseoverrukovaoce neposrednim potomcima <body>elementa. Ovaj, doduše, ružan hak je neophodan da se zaobiđe čudna greška u delegiranju događaja iOS-a , koja bi inače spriječila da dodir bilo gdje izvan padajućeg menija pokrene kod koji zatvara padajući meni. Kada se padajući meni zatvori, ovi dodatni prazni mouseoverrukovaoci se uklanjaju.
Preko atributa podataka
Dodajte data-toggle="dropdown"na vezu ili dugme da biste uključili padajući meni.
Preko JavaScripta
Pozovite padajuće menije putem JavaScripta:
data-toggle="dropdown"još uvijek potrebno
Bez obzira da li pozivate svoj padajući meni putem JavaScript-a ili umjesto toga koristite data-api, data-toggle="dropdown"uvijek je potrebno da bude prisutan na okidaču padajućeg izbornika.
Opcije
Opcije se mogu proslijediti putem atributa podataka ili JavaScript-a. Za atribute podataka dodajte naziv opcije u data-, kao u data-offset="".
Ime
Tip
Default
Opis
offset
broj | string | funkcija
0
Pomak padajućeg menija u odnosu na cilj. Za više informacija pogledajte offset dokumente Popper.js .
flip
boolean
tačno
Dozvolite padajućem izborniku da se okrene u slučaju preklapanja na referentnom elementu. Za više informacija pogledajte Flip dokumente Popper.js .
granica
string | element
'scrollParent'
Prelivanje granice ograničenja padajućeg menija. Prihvata vrijednosti 'viewport', 'window', 'scrollParent', ili reference HTMLElementa (samo JavaScript). Za više informacija pogledajte PrevenOverflow dokumente Popper.js .
referenca
string | element
'prebaciti'
Referentni element padajućeg menija. Prihvata vrijednosti 'toggle', 'parent', ili reference HTMLElementa. Za više informacija pogledajte Popper.js referenceObject docs .
displej
string
'dinamičan'
Po defaultu koristimo Popper.js za dinamičko pozicioniranje. Onemogućite ovo pomoću static.
Obratite pažnju kada boundaryje postavljena na bilo koju vrijednost osim 'scrollParent', stil position: staticse primjenjuje na .dropdownkontejner.
Metode
Metoda
Opis
$().dropdown('toggle')
Prebacuje padajući meni određene navigacijske trake ili navigacije sa karticama.
$().dropdown('show')
Prikazuje padajući meni određene navigacijske trake ili navigacije sa karticama.
$().dropdown('hide')
Sakriva padajući meni određene navigacijske trake ili navigacije sa karticama.
$().dropdown('update')
Ažurira poziciju padajućeg menija elementa.
$().dropdown('dispose')
Uništava padajući meni elementa.
Događaji
Svi padajući događaji se aktiviraju na .dropdown-menuroditeljskom elementu 's i imaju relatedTargetsvojstvo, čija je vrijednost preklopni element sidra. hide.bs.dropdowni hidden.bs.dropdowndogađaji imaju clickEventsvojstvo (samo kada je izvorni tip događaja click) koje sadrži objekt događaja za događaj klika.
Događaj
Opis
show.bs.dropdown
Ovaj događaj se pokreće odmah kada se pozove metoda show instance.
shown.bs.dropdown
Ovaj događaj se pokreće kada se padajući meni učini vidljivim korisniku (će čekati da se CSS prijelazi dovrše).
hide.bs.dropdown
Ovaj događaj se pokreće odmah kada se pozove metoda skrivanja instance.
hidden.bs.dropdown
Ovaj događaj se pokreće kada se padajući meni završi sa sakrivanjem od korisnika (će čekati da se CSS prijelazi dovrše).