Ndrysho mbivendosjet kontekstuale për shfaqjen e listave të lidhjeve dhe më shumë me shtojcën me lëshim Bootstrap.
Vështrim i përgjithshëm
Dropdowns janë mbivendosje të ndërrueshme, kontekstuale për shfaqjen e listave të lidhjeve dhe më shumë. Ato janë bërë ndërvepruese me shtojcën e përfshirë JavaScript me zbritje Bootstrap. Ato ndërrohen duke klikuar, jo duke qëndruar pezull; ky është një vendim i qëllimshëm i projektimit .
Dropdowns janë ndërtuar në një bibliotekë të palës së tretë, Popper.js , e cila ofron pozicionim dinamik dhe zbulim të pamjes. Sigurohuni që të përfshini popper.min.js përpara JavaScript-it të Bootstrap ose përdorni bootstrap.bundle.min.js/ bootstrap.bundle.jsqë përmban Popper.js. Popper.js nuk përdoret për të pozicionuar skedarët me zbritje në shiritat e navigimit, megjithëse nuk kërkohet pozicionimi dinamik.
Nëse po ndërtoni JavaScript-in tonë nga burimi, ai kërkonutil.js .
Aksesueshmëria
Standardi WAI ARIArole="menu" përcakton një miniaplikacion aktual , por kjo është specifike për menytë e ngjashme me aplikacionet që aktivizojnë veprime ose funksione. Menytë ARIA mund të përmbajnë vetëm artikujt e menysë, artikujt e menysë së kutisë së kontrollit, artikujt e menysë së butonave të radios, grupet e butonave të radios dhe nën-menytë.
Nga ana tjetër, pikat e lëshimit të Bootstrap janë krijuar për të qenë të përgjithshme dhe të zbatueshme për një sërë situatash dhe strukturash shënjimi. Për shembull, është e mundur të krijohen skedarë që përmbajnë hyrje shtesë dhe kontrolle të formularit, të tilla si fushat e kërkimit ose formularët e hyrjes. Për këtë arsye, Bootstrap nuk pret (as nuk shton automatikisht) asnjë nga atributet roledhe atributet e kërkuara për menutë aria-e vërteta ARIA . Autorët do të duhet të përfshijnë vetë këto atribute më specifike.
Sidoqoftë, Bootstrap shton mbështetje të integruar për shumicën e ndërveprimeve standarde të menysë së tastierës, të tilla si aftësia për të lëvizur nëpër .dropdown-itemelementë individualë duke përdorur çelësat e kursorit dhe për të mbyllur menunë me ESCtastin.
Shembuj
Mbështilleni çelësin e menysë rënëse (butonin ose lidhjen tuaj) dhe menynë rënëse brenda .dropdown, ose një element tjetër që deklaron position: relative;. Dropdowns mund të shkaktohen nga <a>ose <button>elemente për t'iu përshtatur më mirë nevojave tuaja të mundshme.
Buton i vetëm
Çdo këngë .btnmund të shndërrohet në një ndërrim me rënie me disa ndryshime shënimi. Ja se si mund t'i vendosni ato në punë me secilin <button>element:
Në mënyrë të ngjashme, krijoni zbritje të butonave të ndarjes me pothuajse të njëjtin shënim si ato me një buton të vetëm, por me shtimin e .dropdown-toggle-splitpër ndarjen e duhur rreth skeletit rënës.
Ne e përdorim këtë klasë shtesë për të reduktuar horizontalin paddingnë të dyja anët e kartës me 25% dhe për të hequr atë margin-leftqë shtohet për zbritjet e butonave të rregullt. Këto ndryshime shtesë e mbajnë kutinë të përqendruar në butonin e ndarjes dhe sigurojnë një zonë goditjeje me madhësi më të përshtatshme pranë butonit kryesor.
Historikisht, përmbajtja e menusë rënëse duhet të ishte lidhje, por kjo nuk është më rasti me v4. Tani mund të përdorni opsionalisht <button>elementë në listën tuaj rënëse në vend të vetëm <a>s.
Ju gjithashtu mund të krijoni artikuj jo-interaktivë me zbritje me .dropdown-item-text. Mos ngurroni të stiloni më tej me CSS të personalizuara ose shërbime teksti.
Si parazgjedhje, një meny rënëse pozicionohet automatikisht 100% nga lart dhe përgjatë anës së majtë të prindit të saj. Shtoni .dropdown-menu-rightnë a .dropdown-menunë të djathtë, rreshtoni menunë rënëse.
Kokat lart! Dropdown pozicionohen falë Popper.js (përveç rasteve kur ato gjenden në një shirit navigimi).
Rreshtimi i përgjegjshëm
Nëse dëshironi të përdorni shtrirjen e përgjegjshme, çaktivizoni pozicionimin dinamik duke shtuar data-display="static"atributin dhe përdorni klasat e variacionit të përgjegjshëm.
Për të lidhur djathtas menynë rënëse me pikën e caktuar të ndërprerjes ose më të madhe, shtoni .dropdown-menu{-sm|-md|-lg|-xl}-right.
Për të lidhur menynë rënëse majtas.dropdown-menu-right me pikën e caktuar të ndërprerjes ose më të madhe, shtoni dhe .dropdown-menu{-sm|-md|-lg|-xl}-left.
Vini re se nuk keni nevojë të shtoni një data-display="static"atribut në butonat me zbritje në shiritat e navigimit, pasi Popper.js nuk përdoret në shiritat e navigimit.
Përmbajtja e menysë
Titujt
Shtoni një kokë për të etiketuar seksionet e veprimeve në çdo meny rënëse.
Vendosni çdo tekst në formë të lirë brenda një menuje rënëse me tekst dhe përdorni shërbimet e ndarjes . Vini re se ka të ngjarë të keni nevojë për stile shtesë të madhësisë për të kufizuar gjerësinë e menusë.
Një shembull i tekstit që rrjedh lirshëm brenda menysë rënëse.
Dhe ky është më shumë tekst shembull.
Format
Vendosni një formular brenda një menyje rënëse, ose shndërrojeni atë në një meny rënëse dhe përdorni shërbimet e margjinës ose mbushjes për t'i dhënë asaj hapësirën negative që ju nevojitet.
Nëpërmjet atributeve të të dhënave ose JavaScript-it, shtojca me drop-down ndryshon përmbajtjen e fshehur (menytë me zbritje) duke ndërruar .showklasën në artikullin prind të listës. Atributi data-toggle="dropdown"mbështetet për mbylljen e menyve rënëse në një nivel aplikacioni, kështu që është një ide e mirë ta përdorni gjithmonë atë.
Në pajisjet e aktivizuara me prekje, hapja e një menyje rënëse shton mbajtës të zbrazët ( $.noop) mouseoverfëmijëve të menjëhershëm të <body>elementit. Ky hak pa dyshim i shëmtuar është i nevojshëm për të zgjidhur një problem të çuditshëm në delegimin e ngjarjeve të iOS , i cili përndryshe do të parandalonte një trokitje kudo jashtë listës së lëshimit nga aktivizimi i kodit që mbyll listën me lëshim. Pasi të mbyllet menyja rënëse, këta mouseovermbajtës shtesë bosh hiqen.
Nëpërmjet atributeve të të dhënave
Shto data-toggle="dropdown"në një lidhje ose buton për të ndërruar një listë rënëse.
Përmes JavaScript
Thirrni skedarët e lëshimit përmes JavaScript:
data-toggle="dropdown"ende kërkohet
Pavarësisht nëse e thërrisni listën tuaj të lëshimit përmes JavaScript ose në vend të kësaj përdorni data-api, data-toggle="dropdown"kërkohet që të jetë gjithmonë i pranishëm në elementin e aktivizimit të listës rënëse.
Opsione
Opsionet mund të kalohen nëpërmjet atributeve të të dhënave ose JavaScript. Për atributet e të dhënave, shtoni emrin e opsionit në data-, si në data-offset="".
Emri
Lloji
E paracaktuar
Përshkrim
kompensuar
numri | varg | funksionin
0
Kompensimi i zbritjes në lidhje me objektivin e tij.
Kur një funksion përdoret për të përcaktuar kompensimin, ai thirret me një objekt që përmban të dhënat e kompensimit si argument të parë. Funksioni duhet të kthejë një objekt me të njëjtën strukturë. Nyja DOM e elementit nxitës kalohet si argumenti i dytë.
Lejo që Dropdown të rrokulliset në rast të një mbivendosjeje në elementin e referencës. Për më shumë informacion referojuni dokumenteve rrotulluese të Popper.js .
kufiri
varg | element
'scrollParent'
Kufiri i kufizimit të tejmbushjes së menysë rënëse. Pranon vlerat e 'viewport', 'window', 'scrollParent', ose një referencë HTMLElement (vetëm JavaScript). Për më shumë informacion, referojuni dokumenteve të preventOverflow të Popper.js .
referencë
varg | element
'ndërroj'
Elementi i referencës së menysë rënëse. Pranon vlerat e 'toggle', 'parent', ose një referencë HTMLElement. Për më shumë informacion referojuni referencës së Popper.js Object docs .
shfaqja
varg
'dinamik'
Si parazgjedhje, ne përdorim Popper.js për pozicionimin dinamik. Çaktivizoni këtë me static.
popperConfig
null | Objekt
i pavlefshëm
Për të ndryshuar konfigurimin e paracaktuar të Popper.js të Bootstrap, shihni konfigurimin e Popper.js
Vini re kur boundaryvendoset në ndonjë vlerë tjetër përveç 'scrollParent', stili position: staticzbatohet në .dropdownkontejner.
Metodat
Metoda
Përshkrim
$().dropdown('toggle')
Ndryshon menynë rënëse të një navigimi të caktuar navigimi ose me skeda.
$().dropdown('show')
Shfaq menynë rënëse të një shiriti navigimi të caktuar ose navigimi me skeda.
$().dropdown('hide')
Fsheh menynë rënëse të një shiriti të caktuar navigimi ose navigimi me skeda.
$().dropdown('update')
Përditëson pozicionin e menysë rënëse të një elementi.
$().dropdown('dispose')
Shkatërron listën e një elementi.
Ngjarjet
Të gjitha ngjarjet me rënie aktivizohen në .dropdown-menuelementin mëmë dhe kanë një relatedTargetveti, vlera e së cilës është elementi i ankorimit ndërrues. hide.bs.dropdowndhe hidden.bs.dropdownngjarjet kanë një clickEventveti (vetëm kur lloji origjinal i ngjarjes është click) që përmban një Objekt Ngjarje për ngjarjen e klikimit.
Ngjarja
Përshkrim
show.bs.dropdown
Kjo ngjarje ndizet menjëherë kur thirret metoda e shembullit të shfaqjes.
shown.bs.dropdown
Kjo ngjarje aktivizohet kur menyja rënëse është bërë e dukshme për përdoruesin (do të presë që kalimet CSS të përfundojnë).
hide.bs.dropdown
Kjo ngjarje aktivizohet menjëherë kur është thirrur metoda e shembullit të fshehjes.
hidden.bs.dropdown
Kjo ngjarje aktivizohet kur fshirja e listës me zbritje ka përfunduar nga përdoruesi (do të presë që tranzicioni i CSS të përfundojë).