Geuza viwekeleo vya muktadha kwa ajili ya kuonyesha orodha za viungo na zaidi ukitumia programu-jalizi ya kunjuzi ya Bootstrap.
Muhtasari
Kunjuzi zinaweza kugeuzwa, ziwekelezwe za kimuktadha kwa ajili ya kuonyesha orodha za viungo na zaidi. Yamefanywa kuingiliana na programu-jalizi ya kunjuzi ya Bootstrap iliyojumuishwa ya JavaScript. Zinabadilishwa kwa kubofya, sio kwa kuelea; huu ni uamuzi wa kimakusudi wa kubuni .
Kunjuzi hujengwa kwenye maktaba ya wahusika wengine, Popper.js , ambayo hutoa nafasi inayobadilika na utambuzi wa sehemu ya kutazama. Hakikisha kuwa umejumuisha popper.min.js kabla ya JavaScript ya Bootstrap au tumia bootstrap.bundle.min.js/ bootstrap.bundle.jsambayo ina Popper.js. Popper.js haitumiwi kuweka menyu kunjuzi katika pau za urambazaji ingawa kwa vile uwekaji nafasi unaobadilika hauhitajiki.
Ikiwa unaunda JavaScript yetu kutoka kwa chanzo, inahitajiutil.js .
Ufikivu
Kiwango cha WAI ARIA kinafafanua role="menu"wijeti halisi , lakini hii ni mahususi kwa menyu zinazofanana na programu ambazo huanzisha vitendo au utendaji. Menyu za ARIA zinaweza tu kuwa na vipengee vya menyu, vipengee vya menyu ya kisanduku cha kuteua, vipengee vya menyu ya vitufe vya redio, vikundi vya vitufe vya redio, na menyu ndogo.
Kunjuzi za Bootstrap, kwa upande mwingine, zimeundwa kuwa za jumla na zinazotumika kwa hali mbalimbali na miundo ya kuashiria. Kwa mfano, inawezekana kuunda menyu kunjuzi ambazo zina pembejeo za ziada na vidhibiti vya fomu, kama vile sehemu za utafutaji au fomu za kuingia. Kwa sababu hii, Bootstrap haitarajii (wala kuongeza kiotomatiki) yoyote rolena aria-sifa zinazohitajika kwa menyu za kweli za ARIA . Waandishi watalazimika kujumuisha sifa hizi mahususi wenyewe.
Walakini, Bootstrap haiongezei usaidizi uliojumuishwa ndani kwa mwingiliano mwingi wa menyu ya kibodi, kama vile uwezo wa kusogea kupitia .dropdown-itemvipengee mahususi kwa kutumia vitufe vya kishale na kufunga menyu kwa ESCufunguo.
Mifano
Funga kigeuzi cha menyu kunjuzi (kitufe au kiungo chako) na menyu kunjuzi ndani ya .dropdown, au kipengele kingine kinachotangaza position: relative;. Kunjuzi kunaweza kuanzishwa kutoka <a>au <button>vipengee ili kutosheleza mahitaji yako yanayoweza kutokea.
Kitufe kimoja
Single yoyote .btninaweza kugeuzwa kuwa menyu kunjuzi na mabadiliko kadhaa ya alama. Hivi ndivyo unavyoweza kuziweka kufanya kazi na <button>vipengele vyovyote:
Vile vile, unda menyu kunjuzi ya vitufe vya mgawanyiko kwa karibu alama sawa na menyu kunjuzi ya kitufe kimoja, lakini kwa kuongezwa .dropdown-toggle-splitkwa nafasi ifaayo kuzunguka sehemu ya kunjuzi.
Tunatumia darasa hili la ziada ili kupunguza mlalo paddingkwa kila upande wa caret kwa 25% na kuondoa margin-leftile iliyoongezwa kwa kunjuzi za vitufe vya kawaida. Mabadiliko hayo ya ziada huweka caret katikati ya kitufe cha mgawanyiko na kutoa eneo la kugonga la ukubwa unaofaa zaidi karibu na kitufe kikuu.
Kihistoria yaliyomo kwenye menyu kunjuzi ilibidi kuwa viungo, lakini sivyo ilivyo tena na v4. Sasa unaweza kutumia kwa hiari <button>vipengele kwenye menyu kunjuzi zako badala ya <a>s.
Unaweza pia kuunda vipengee kunjuzi visivyoingiliana ukitumia .dropdown-item-text. Jisikie huru kuweka mtindo zaidi ukitumia CSS maalum au huduma za maandishi.
Kwa chaguomsingi, menyu kunjuzi huwekwa kiotomatiki 100% kutoka juu na upande wa kushoto wa mzazi wake. Ongeza .dropdown-menu-rightkwenye a .dropdown-menupanga menyu kunjuzi.
Vichwa juu! Kunjuzi zimewekwa shukrani kwa Popper.js (isipokuwa zikiwa kwenye upau wa urambazaji).
Mpangilio wa kuitikia
Iwapo ungependa kutumia upatanishi unaoitikia, zima uwekaji unaobadilika kwa kuongeza data-display="static"sifa na utumie aina za utofauti zinazoitikia.
Ili kuoanisha menyu kunjuzi na kikomo ulichopewa au kubwa zaidi, ongeza .dropdown-menu{-sm|-md|-lg|-xl}-right.
Ili kupangilia kushoto menyu kunjuzi na kikomo ulichopewa au kubwa zaidi, ongeza .dropdown-menu-rightna .dropdown-menu{-sm|-md|-lg|-xl}-left.
Kumbuka kuwa hauitaji kuongeza data-display="static"sifa kwenye vitufe vya kunjuzi kwenye pau za urambazaji, kwa kuwa Popper.js haitumiki katika upau wa urambazaji.
Maudhui ya menyu
Vichwa vya habari
Ongeza kichwa ili kuweka lebo sehemu za vitendo katika menyu kunjuzi yoyote.
Weka maandishi yoyote ya muundo huria ndani ya menyu kunjuzi yenye maandishi na utumie huduma za kuweka nafasi . Kumbuka kuwa utahitaji mitindo ya ziada ya kuweka ukubwa ili kubana upana wa menyu.
Baadhi ya maandishi ya mfano ambayo yanatiririka bila malipo ndani ya menyu kunjuzi.
Na hii ni maandishi ya mfano zaidi.
Fomu
Weka fomu ndani ya menyu kunjuzi, au uifanye kuwa menyu kunjuzi, na utumie huduma za ukingo au padding ili kuipa nafasi hasi unayohitaji.
Kupitia sifa za data au JavaScript, programu-jalizi kunjuzi hugeuza maudhui yaliyofichwa (menu kunjuzi) kwa kugeuza .showdarasa kwenye kipengee cha orodha kuu. Sifa data-toggle="dropdown"hiyo inategemewa kwa kufunga menyu kunjuzi katika kiwango cha programu, kwa hivyo ni wazo nzuri kuitumia kila wakati.
Kwenye vifaa vinavyoweza kuguswa, kufungua menyu kunjuzi huongeza vidhibiti tupu ( $.noop) mouseoverkwa watoto wa karibu wa <body>kipengele. Udukuzi huu mbaya unaokubalika ni muhimu ili kutatua tatizo katika ujumbe wa tukio la iOS , ambalo lingezuia kugusa popote nje ya menyu kunjuzi kuanzisha msimbo unaofunga menyu kunjuzi. Mara tu menyu kunjuzi itakapofungwa, vidhibiti tupu hivi vya ziada mouseoverhuondolewa.
Kupitia sifa za data
Ongeza data-toggle="dropdown"kwenye kiungo au kitufe ili kugeuza menyu kunjuzi.
Kupitia JavaScript
Piga kushuka kupitia JavaScript:
data-toggle="dropdown"bado inahitajika
Bila kujali ikiwa unapiga simu kunjuzi yako kupitia JavaScript au badala yake utumie data-api, data-toggle="dropdown"inahitajika kila wakati kuwepo kwenye kichochezi cha menyu kunjuzi.
Chaguo
Chaguzi zinaweza kupitishwa kupitia sifa za data au JavaScript. Kwa sifa za data, ongeza jina la chaguo kwa data-, kama katika data-offset="".
Jina
Aina
Chaguomsingi
Maelezo
kukabiliana
nambari | kamba | kazi
0
Kukabiliana na menyu kunjuzi kulingana na lengo lake. Kwa maelezo zaidi rejelea hati za kukabiliana na Popper.js .
pindua
boolean
kweli
Ruhusu menyu kunjuzi igeuze iwapo kuna mwingiliano wa kipengele cha marejeleo. Kwa maelezo zaidi rejea hati za mgeuko za Popper.js .
mpaka
kamba | kipengele
'scrollParent'
Kizuizi cha vipengee vya ziada vya menyu kunjuzi. Hukubali thamani za 'viewport', 'window', 'scrollParent', au rejeleo la Kipengele cha HTML (JavaScript pekee). Kwa maelezo zaidi rejelea hati za preventOverflow za Popper.js .
kumbukumbu
kamba | kipengele
'geuza'
Kipengele cha marejeleo cha menyu kunjuzi. Hukubali thamani za 'toggle', 'parent', au rejeleo la Kipengele cha HTML. Kwa maelezo zaidi rejelea kumbukumbuObject docs za Popper.js .
kuonyesha
kamba
'dynamic'
Kwa chaguo-msingi, tunatumia Popper.js kwa nafasi inayobadilika. Zima hii na static.
Kumbuka wakati boundaryumewekwa kwa thamani yoyote isipokuwa 'scrollParent', mtindo position: staticunatumika kwenye .dropdownkontena.
Mbinu
Njia
Maelezo
$().dropdown('toggle')
Hugeuza menyu kunjuzi ya upau wa urambazaji au urambazaji wa kichupo.
$().dropdown('show')
Inaonyesha menyu kunjuzi ya upau wa urambazaji au urambazaji wa kichupo.
$().dropdown('hide')
Huficha menyu kunjuzi ya upau wa urambazaji au urambazaji wa kichupo.
$().dropdown('update')
Husasisha nafasi ya menyu kunjuzi ya kipengee.
$().dropdown('dispose')
Huharibu menyu kunjuzi ya kipengele.
Matukio
Matukio yote ya menyu kunjuzi yametupwa kwenye .dropdown-menukipengele kikuu cha mzazi na yana relatedTargetmali, ambayo thamani yake ni kipengele cha kugeuza nanga. hide.bs.dropdownna hidden.bs.dropdownmatukio yana sifa clickEvent(tu wakati aina ya tukio asili ni click) ambayo ina Kitu cha Tukio cha tukio la kubofya.
Tukio
Maelezo
show.bs.dropdown
Tukio hili huwaka mara moja mbinu ya onyesho inapoitwa.
shown.bs.dropdown
Tukio hili huwashwa wakati menyu kunjuzi imefanywa kuonekana kwa mtumiaji (itasubiri mabadiliko ya CSS, kukamilika).
hide.bs.dropdown
Tukio hili linafutwa mara moja wakati mbinu ya mfano wa kujificha imeitwa.
hidden.bs.dropdown
Tukio hili huwashwa wakati menyu kunjuzi imekamilika kufichwa kutoka kwa mtumiaji (itasubiri mabadiliko ya CSS, kukamilika).