Пребаците контекстуалне преклапања за приказивање листа веза и више помоћу падајућег додатка Боотстрап.
Преглед
Падајући мени су променљиви, контекстуални преклопи за приказ листа веза и још много тога. Они су интерактивни помоћу укљученог ЈаваСцрипт додатка Боотстрап падајућег менија. Пребацују се кликом, а не лебдењем; ово је намерна одлука о дизајну .
Падајући мени су изграђени на библиотеци треће стране, Поппер.јс , која обезбеђује динамичко позиционирање и откривање поља приказа. Обавезно укључите поппер.мин.јс пре Боотстрап-овог ЈаваСцрипт-а или користите bootstrap.bundle.min.js/ bootstrap.bundle.jsкоји садржи Поппер.јс. Поппер.јс се не користи за позиционирање падајућих менија у навигационим тракама, иако динамичко позиционирање није потребно.
Ако градите наш ЈаваСцрипт из извора, он захтеваutil.js .
Приступачност
ВАИ АРИА стандард дефинише стварни role="menu"виџет , али ово је специфично за меније налик апликацијама који покрећу радње или функције. АРИА менији могу да садрже само ставке менија, ставке менија у пољу за потврду, ставке менија радио дугмади, групе радио дугмади и подменије.
Падајући мени Боотстрапа, с друге стране, дизајнирани су да буду генерички и применљиви на различите ситуације и структуре означавања. На пример, могуће је креирати падајуће меније који садрже додатне уносе и контроле обрасца, као што су поља за претрагу или обрасци за пријаву. Из тог разлога, Боотстрап не очекује (нити аутоматски додаје) ниједан од атрибута roleи aria-потребних за праве АРИА меније. Аутори ће морати сами да укључе ове специфичније атрибуте.
Међутим, Боотстрап додаје уграђену подршку за већину стандардних интеракција менија на тастатури, као што је могућност кретања кроз појединачне .dropdown-itemелементе помоћу тастера са стрелицама и затварање менија помоћу ESCтастера.
Примери
Премотајте прекидач падајућег менија (ваше дугме или везу) и падајући мени унутар .dropdownили другог елемента који декларише position: relative;. Падајући мени се може покренути из <a>или <button>елемената како би боље одговарали вашим потенцијалним потребама.
Једно дугме
Било који сингл .btnсе може претворити у падајући прекидач са неким променама ознаке. Ево како их можете ставити да раде са било којим <button>елементом:
Слично томе, направите падајуће меније са подељеним дугметом са практично истим ознакама као падајуће меније са једним дугметом, али са додатком .dropdown-toggle-splitза правилан размак око падајућег курсора.
Користимо ову додатну класу да смањимо хоризонталу paddingса обе стране курсора за 25% и уклонимо оно margin-leftшто је додато за обичне падајуће меније дугмета. Ове додатне промене држе курсор у центру у подељеном дугмету и обезбеђују погоднију величину погодне области поред главног дугмета.
Историјски, садржај падајућег менија је морао да буде везе, али то више није случај са в4. Сада можете опционо да користите <button>елементе у падајућем менију уместо само <a>с.
Такође можете да креирате неинтерактивне падајуће ставке са .dropdown-item-text. Слободно стилизујте даље помоћу прилагођених ЦСС или текстуалних услужних програма.
Подразумевано, падајући мени се аутоматски поставља 100% од врха и дуж леве стране свог надређеног. Додајте .dropdown-menu-rightна .dropdown-menuдесно поравнајте падајући мени.
Главу горе! Падајући мени су позиционирани захваљујући Поппер.јс (осим када су садржани у навигационој траци).
Респонсиве алигнмент
Ако желите да користите прилагодљиво поравнање, онемогућите динамичко позиционирање додавањем data-display="static"атрибута и користите класе варијација које одговарају.
Да бисте поравнали десно падајући мени са датом тачком прекида или већом, додајте .dropdown-menu{-sm|-md|-lg|-xl}-right.
Да бисте поравнали леви падајући мени са датом тачком прекида или већом, додајте .dropdown-menu-rightи .dropdown-menu{-sm|-md|-lg|-xl}-left.
Имајте на уму да не морате да додајете data-display="static"атрибут у падајућа дугмад у навигационим тракама, пошто се Поппер.јс не користи у навигационим тракама.
Садржај менија
Заглавља
Додајте заглавље да означите делове радњи у било ком падајућем менију.
Поставите било који текст слободног облика у падајући мени са текстом и користите услужне програме за размаке . Имајте на уму да ће вам вероватно бити потребни додатни стилови величине да бисте ограничили ширину менија.
Неки пример текста који слободно тече у падајућем менију.
А ово је још пример текста.
Формс
Ставите образац у падајући мени или га претворите у падајући мени и користите услужне програме за маргине или паддинг да бисте му дали негативни простор који вам је потребан.
Преко атрибута података или ЈаваСцрипт-а, падајући додатак укључује скривени садржај (падајући менији) тако што укључује .showкласу на родитељској листи. Атрибут data-toggle="dropdown"се ослања на затварање падајућих менија на нивоу апликације, тако да је добра идеја да га увек користите.
На уређајима са омогућеним додиром, отварање падајућег менија додаје празне ( $.noop) mouseoverруковаоце непосредним потомцима <body>елемента. Овај, додуше, ружан хак је неопходан да би се заобишла чудна грешка у делегирању догађаја у иОС-у , која би иначе спречила да додир било где изван падајућег менија покрене код који затвара падајући мени. Када се падајући мени затвори, ови додатни празни mouseoverруковаоци се уклањају.
Преко атрибута података
Додајте data-toggle="dropdown"везу или дугме да бисте укључили падајући мени.
Преко ЈаваСцрипт-а
Позовите падајуће меније преко ЈаваСцрипт-а:
data-toggle="dropdown"још увек потребно
Без обзира да ли позивате падајући мени преко ЈаваСцрипт-а или уместо тога користите дата-апи, data-toggle="dropdown"увек је потребно да буде присутан на елементу покретача падајућег менија.
Опције
Опције се могу пренети преко атрибута података или ЈаваСцрипт-а. За атрибуте података додајте име опције у data-, као у data-offset="".
Име
Тип
Уобичајено
Опис
офсет
број | стринг | функција
0
Померање падајућег менија у односу на циљ. За више информација погледајте Поппер.јс офсет документе .
флип
боолеан
истинито
Дозволите да се падајући мени окрене у случају преклапања на референтном елементу. За више информација погледајте флип документе Поппер.јс .
граница
стринг | елемент
'сцроллПарент'
Преливање границе ограничења падајућег менија. Прихвата вредности 'viewport', 'window', 'scrollParent', или референце ХТМЛЕлемента (само ЈаваСцрипт). За више информација погледајте ПревенОверфлов документе Поппер.јс .
референца
стринг | елемент
'искључи'
Референтни елемент падајућег менија. Прихвата вредности 'toggle', 'parent', или референце ХТМЛЕлемента. За више информација погледајте Поппер.јс референцеОбјецт документе .
приказ
низ
'динамичан'
Подразумевано користимо Поппер.јс за динамичко позиционирање. Онемогућите ово помоћу static.
Обратите пажњу када boundaryје постављена на било коју вредност осим 'scrollParent', стил position: staticсе примењује на .dropdownконтејнер.
Методе
Метод
Опис
$().dropdown('toggle')
Пребацује падајући мени дате навигационе траке или навигације са картицама.
$().dropdown('show')
Приказује падајући мени дате траке за навигацију или навигације са картицама.
$().dropdown('hide')
Сакрива падајући мени дате траке за навигацију или навигације са картицама.
$().dropdown('update')
Ажурира позицију падајућег менија елемента.
$().dropdown('dispose')
Уништава падајући мени елемента.
Догађаји
Сви догађаји падајућег менија се покрећу на .dropdown-menuродитељском елементу 'с и имају relatedTargetсвојство чија је вредност преклопни елемент сидра. hide.bs.dropdownи hidden.bs.dropdownдогађаји имају clickEventсвојство (само када је оригинални тип догађаја click) које садржи објекат догађаја за догађај клика.
Догађај
Опис
show.bs.dropdown
Овај догађај се покреће одмах када се позове метода схов инстанце.
shown.bs.dropdown
Овај догађај се покреће када падајући мени постане видљив кориснику (сачекаће да се ЦСС транзиције доврше).
hide.bs.dropdown
Овај догађај се покреће одмах када се позове метод сакривања инстанце.
hidden.bs.dropdown
Овај догађај се покреће када се падајући мени заврши са сакривањем од корисника (сачекаће да се ЦСС транзиције доврше).