Тамчы
Bootstrap тамчы плагины белән сылтамалар исемлеген күрсәтү өчен контекстуаль каплауларны алыштырыгыз.
Тамчы төшү - күчерелмә, сылтамалар исемлеген күрсәтү өчен контекстуаль өстәмәләр. Алар Bootstrap тамчысы JavaScript плагины белән интерактив ясалган. Алар басу белән алыштырыла, каушап түгел; бу белә торып проектлау карары.
Dropdowns динамик позицияләү һәм күренешне ачыклауны тәэмин итүче Popper.js өченче як китапханәсендә төзелгән . Bootstrap'ның JavaScript алдыннан popper.min.js кертегез яки Popper.js булганbootstrap.bundle.min.js
/ bootstrap.bundle.js
кулланыгыз. Popper.js диңгез такталарында тамчыларны урнаштыру өчен кулланылмый, чөнки динамик позицияләү таләп ителми.
Әгәр дә сез безнең JavaScriptны чыганактан төзисез икән, бу кирәкutil.js
.
WAI ARIA стандарты фактик role="menu"
виджетны билгели , ләкин бу гамәлләргә яки функцияләргә этәрүче кушымтага охшаган менюларга хас. ARIA менюларында меню элементлары, меню пунктлары, радио төймә меню элементлары, радио төймә төркемнәре һәм суб-менюлар булырга мөмкин.
Ботстрапның тамчылары, гомуми һәм төрле ситуацияләргә һәм билгеләр структураларына куллану өчен эшләнгән. Мәсәлән, эзләү кырлары яки логин формалары кебек өстәмә керемнәр һәм форма контроле булган тамчыларны ясарга мөмкин. Шуңа күрә, Bootstrap чын ARIA менюлары өчен кирәк булган атрибутларның берсен role
дә көтми (яки автоматик рәвештә дә кушмый) . Авторларга бу конкрет атрибутларны кертергә туры киләчәк.aria-
.dropdown-item
Ләкин, Bootstrap күпчелек стандарт клавиатура менюлары өчен урнаштырылган ярдәм өсти, мәсәлән , курсор ачкычларын кулланып аерым элементлар аша күчү һәм менюны ачкыч белән ябу ESC.
Ачылучының күчү (төймә яки сылтама) һәм тамчы менюны .dropdown
, яки игълан иткән бүтән элементны урыгыз position: relative;
. Сезнең потенциаль ихтыяҗларыгызга яхшырак туры килер өчен тамчылар <a>
яисә элементлардан башланырга мөмкин .<button>
Кайбер теләсә нинди .btn
үзгәрешләр белән тамчыга күчү мөмкин. Менә сез аларны ике <button>
элемент белән эшләргә ничек куя аласыз:
<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>
Elementәм <a>
элементлар белән:
<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>
Иң яхшысы - сез моны теләсә нинди төймә варианты белән эшли аласыз:
Нәкъ шулай ук, бер төймә тамчылары белән бер үк марка белән бүленгән төймә тамчыларын булдырыгыз, ләкин .dropdown-toggle-split
тамчы карет тирәсендә тиешле аралар өстәп.
Без бу өстәмә классны padding
каретның ике ягында горизонтальне 25% киметү өчен кулланабыз һәм margin-left
регуляр төймә төшү өчен өстәлгәнне бетерәбез. Бу өстәмә үзгәрешләр каретны бүлү төймәсенә туплыйлар һәм төп төймә янындагы урынлы зурлыктагы мәйданны тәэмин итәләр.
Кнопка тамчылары барлык зурлыктагы төймәләр белән эшли, шул исәптән килешү һәм бүленгән төшү төймәләре.
.dropup
Ата-аналар элементына өстәп тамчы менюларны элементлар өстендә эшләгез .
.dropright
Ата-аналар элементын өстәп элементларның уң ягында тамчы менюларны триггер .
.dropleft
Ата-аналар элементын өстәп элементларның сул ягында тамчы менюларны триггер .
Тарихи төшү меню эчтәлеге сылтамалар булырга тиеш иде , ләкин v4 белән алай булмый. Хәзер сез өстәмә рәвештә <button>
элементларны куллана аласыз <a>
.
<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>
Килешү буенча, тамчы меню автоматик рәвештә 100% өстән һәм ата-анасының сул ягына урнаштырыла. Ачылучы менюны уңга тигезләү өчен .dropdown-menu-right
өстәгез ..dropdown-menu
Идарә итә! Тамчы төшү Popper.js ярдәмендә урнашкан (алар диңгез тактасында булганнан кала).
<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>
Теләсә нинди тамчы менюда эш бүлекләрен билгеләргә башлам өстәгез.
<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>
Бәйләнешле меню әйберләренең төркемнәрен бүлүче белән аерыгыз.
<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>
Форманы тамчы менюга куегыз, яисә тамчы менюга кертегез, һәм сез кирәк булган тискәре урынны бирү өчен маржа яки паддер ярдәмендә кулланыгыз.
<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>
Аларны актив итеп.active
стильләштерү өчен тамчы әйберләргә өстәгез .
<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>
Аларны инвалид итеп.disabled
стильләштерү өчен тамчы әйберләргә өстәгез .
<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>
Мәгълүмат атрибутлары яки JavaScript аша, тамчы плагин яшерен эчтәлекне (тамчы менюларны) .show
ата-аналар исемлегендә классны алыштырып алыштыра. Атрибут кушымта дәрәҗәсендә тамчы менюларны ябу өчен data-toggle="dropdown"
таяна, шуңа күрә аны һәрвакыт куллану яхшы идея.
Сенсор ярдәмендә эшләнгән җайланмаларда тамчы ачылу элементның якын балаларына буш ( $.noop
) mouseover
эшкәртүчеләр өсти. <body>
Бу ямьсез хак , iOS вакыйгалар делегациясендә чуалыш өстендә эшләргә кирәк , бу тамчы тамчы ябылган кодны эшләтеп җибәрүдән саклый. Тамчы ябылганнан соң, бу өстәмә буш mouseover
эшкәртүчеләр бетерелә.
Ачылуны data-toggle="dropdown"
алыштыру өчен сылтамага яки төймәгә өстәгез.
JavaScript аша тамчыларга шалтыратыгыз:
data-toggle="dropdown"
һаман кирәк
Тамчыгызны JavaScript аша шалтыратасызмы, яисә мәгълүмат-api кулланасызмы, data-toggle="dropdown"
тамчы триггер элементында һәрвакыт булырга тиеш.
Вариантларны мәгълүмат атрибутлары яки JavaScript аша бирергә мөмкин. Мәгълүмат атрибутлары өчен вариант исемен data-
өстәгез data-offset=""
.
Исем | Тип | Килешү | Тасвирлау |
---|---|---|---|
офсет | саны | кыл | функциясе | 0 | Максатына караганда төшү төшүе. Күбрәк мәгълүмат өчен Popper.js офсет документларына мөрәҗәгать итегез . |
флип | буле | дөрес | Белешмә элементында бер-берсенә кабатланган очракта, Тамчыга әйләнергә рөхсәт итегез. Күбрәк мәгълүмат өчен Popper.js флип документларына мөрәҗәгать итегез . |
чик | кыл | элемент | 'scrollParent' | Ашаучы менюның чик чикләре. 'viewport' ,, Һәм HTMLElement сылтамасының кыйммәтләрен кабул итә 'window' ( JavaScript кына). 'scrollParent' Күбрәк мәгълүмат өчен Popper.js'ның профилактика Оверфлоу документларына мөрәҗәгать итегез . |
boundary
Кайчан башка кыйммәткә куелганына игътибар итегез 'scrollParent'
, стиль контейнерда position: static
кулланыла ..dropdown
Метод | Тасвирлау |
---|---|
$().dropdown('toggle') |
Бирелгән диңгез тактасының тамчы менюсын яисә салынган навигацияне алыштыра. |
$().dropdown('update') |
Элементның төшү позициясен яңарта. |
$().dropdown('dispose') |
Элементның төшүен юкка чыгара. |
.dropdown-menu
Барлык төшү вакыйгалары ата-ананың элементына атыла һәм relatedTarget
милеге бар, аның кыйммәте якорь элементы.
Вакыйга | Тасвирлау |
---|---|
show.bs.dropdown |
Бу вакыйга шоу инстанция ысулы чакырылганда шунда ук янып тора. |
shown.bs.dropdown |
Бу вакыйга тамчы кулланучыга күренгәч (CSS күчүен көтәр, тәмамланыр). |
hide.bs.dropdown |
Бу вакыйга яшерен инстанция ысулы чакырылганнан соң җибәрелә. |
hidden.bs.dropdown |
Бу вакыйга тамчы кулланучыдан яшерелгәннән соң эшләнә (CSS күчүен көтәр, тәмамланыр). |