Preskoči na glavni sadržaj Preskoči na navigaciju dokumenata
in English

Padajući meni

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 , 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. Popper se ne koristi za pozicioniranje padajućih menija u navigacijskim trakama, iako dinamičko pozicioniranje nije potrebno.

Pristupačnost

WAI ARIA standard definira stvarni role="menu"widget , ali ovo je specifično za menije nalik aplikacijama koji pokreću radnje 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 kursora i zatvaranja 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. Ovdje prikazani primjeri koriste semantičke <ul>elemente gdje je to prikladno, ali prilagođeno označavanje je podržano.

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:

<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown button
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
    <li><a class="dropdown-item" href="#">Action</a></li>
    <li><a class="dropdown-item" href="#">Another action</a></li>
    <li><a class="dropdown-item" href="#">Something else here</a></li>
  </ul>
</div>

I sa <a>elementima:

<div class="dropdown">
  <a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown link
  </a>

  <ul class="dropdown-menu" aria-labelledby="dropdownMenuLink">
    <li><a class="dropdown-item" href="#">Action</a></li>
    <li><a class="dropdown-item" href="#">Another action</a></li>
    <li><a class="dropdown-item" href="#">Something else here</a></li>
  </ul>
</div>

Najbolji dio je što ovo možete učiniti i sa bilo kojom varijantom gumba:

<!-- Example single danger button -->
<div class="btn-group">
  <button type="button" class="btn btn-danger dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Action
  </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#">Action</a></li>
    <li><a class="dropdown-item" href="#">Another action</a></li>
    <li><a class="dropdown-item" href="#">Something else here</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><a class="dropdown-item" href="#">Separated link</a></li>
  </ul>
</div>

Dugme za razdvajanje

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.

<!-- Example split danger button -->
<div class="btn-group">
  <button type="button" class="btn btn-danger">Action</button>
  <button type="button" class="btn btn-danger dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
    <span class="visually-hidden">Toggle Dropdown</span>
  </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#">Action</a></li>
    <li><a class="dropdown-item" href="#">Another action</a></li>
    <li><a class="dropdown-item" href="#">Something else here</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><a class="dropdown-item" href="#">Separated link</a></li>
  </ul>
</div>

Određivanje veličine

Padajući meni sa dugmadima funkcioniše sa dugmadima svih veličina, uključujući podrazumevane i podeljene padajuće dugmad.

<!-- Large button groups (default and split) -->
<div class="btn-group">
  <button class="btn btn-secondary btn-lg dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
    Large button
  </button>
  <ul class="dropdown-menu">
    ...
  </ul>
</div>
<div class="btn-group">
  <button class="btn btn-secondary btn-lg" type="button">
    Large split button
  </button>
  <button type="button" class="btn btn-lg btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
    <span class="visually-hidden">Toggle Dropdown</span>
  </button>
  <ul class="dropdown-menu">
    ...
  </ul>
</div>
<div class="btn-group">
  <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
    Small button
  </button>
  <ul class="dropdown-menu">
    ...
  </ul>
</div>
<div class="btn-group">
  <button class="btn btn-secondary btn-sm" type="button">
    Small split button
  </button>
  <button type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
    <span class="visually-hidden">Toggle Dropdown</span>
  </button>
  <ul class="dropdown-menu">
    ...
  </ul>
</div>

Tamni padajući meni

Uključite se u tamnije padajuće menije kako biste odgovarali tamnoj navigacijskoj traci ili prilagođenom stilu dodavanjem .dropdown-menu-darkpostojećeg .dropdown-menu. Nisu potrebne nikakve izmjene padajućih stavki.

<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton2" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown button
  </button>
  <ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="dropdownMenuButton2">
    <li><a class="dropdown-item active" href="#">Action</a></li>
    <li><a class="dropdown-item" href="#">Another action</a></li>
    <li><a class="dropdown-item" href="#">Something else here</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><a class="dropdown-item" href="#">Separated link</a></li>
  </ul>
</div>

I stavljanje u upotrebu u navigacijskoj traci:

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDarkDropdown" aria-controls="navbarNavDarkDropdown" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNavDarkDropdown">
      <ul class="navbar-nav">
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDarkDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            Dropdown
          </a>
          <ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="navbarDarkDropdownMenuLink">
            <li><a class="dropdown-item" href="#">Action</a></li>
            <li><a class="dropdown-item" href="#">Another action</a></li>
            <li><a class="dropdown-item" href="#">Something else here</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</nav>

Upute

RTL

Uputstva su preslikana kada koristite Bootstrap u RTL-u, što znači .dropstartda će se pojaviti na desnoj strani.

Dropup

Aktivirajte padajuće menije iznad elemenata dodavanjem .dropuproditeljskom elementu.

<!-- Default dropup button -->
<div class="btn-group dropup">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Dropup
  </button>
  <ul class="dropdown-menu">
    <!-- Dropdown menu links -->
  </ul>
</div>

<!-- Split dropup button -->
<div class="btn-group dropup">
  <button type="button" class="btn btn-secondary">
    Split dropup
  </button>
  <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
    <span class="visually-hidden">Toggle Dropdown</span>
  </button>
  <ul class="dropdown-menu">
    <!-- Dropdown menu links -->
  </ul>
</div>

Dropright

Pokrenite padajuće menije desno od elemenata dodavanjem .dropendroditeljskom elementu.

<!-- Default dropend button -->
<div class="btn-group dropend">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Dropright
  </button>
  <ul class="dropdown-menu">
    <!-- Dropdown menu links -->
  </ul>
</div>

<!-- Split dropend button -->
<div class="btn-group dropend">
  <button type="button" class="btn btn-secondary">
    Split dropend
  </button>
  <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
    <span class="visually-hidden">Toggle Dropright</span>
  </button>
  <ul class="dropdown-menu">
    <!-- Dropdown menu links -->
  </ul>
</div>

Dropleft

Aktivirajte padajuće menije na lijevoj strani elemenata dodavanjem .dropstartroditeljskom elementu.

<!-- Default dropstart button -->
<div class="btn-group dropstart">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Dropstart
  </button>
  <ul class="dropdown-menu">
    <!-- Dropdown menu links -->
  </ul>
</div>

<!-- Split dropstart button -->
<div class="btn-group">
  <div class="btn-group dropstart" role="group">
    <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
      <span class="visually-hidden">Toggle Dropstart</span>
    </button>
    <ul class="dropdown-menu">
      <!-- Dropdown menu links -->
    </ul>
  </div>
  <button type="button" class="btn btn-secondary">
    Split dropstart
  </button>
</div>

Možete koristiti <a>ili <button>elemente kao padajuće stavke.

<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu2" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
    <li><button class="dropdown-item" type="button">Action</button></li>
    <li><button class="dropdown-item" type="button">Another action</button></li>
    <li><button class="dropdown-item" type="button">Something else here</button></li>
  </ul>
</div>

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.

<ul class="dropdown-menu">
  <li><span class="dropdown-item-text">Dropdown item text</span></li>
  <li><a class="dropdown-item" href="#">Action</a></li>
  <li><a class="dropdown-item" href="#">Another action</a></li>
  <li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>

Aktivan

Dodajte .activestavkama u padajućem izborniku da ih stilizirate kao aktivne . Da biste prenijeli aktivno stanje pomoćnim tehnologijama, koristite aria-currentatribut — koristeći pagevrijednost za trenutnu stranicu ili trueza trenutnu stavku u skupu.

<ul class="dropdown-menu">
  <li><a class="dropdown-item" href="#">Regular link</a></li>
  <li><a class="dropdown-item active" href="#" aria-current="true">Active link</a></li>
  <li><a class="dropdown-item" href="#">Another link</a></li>
</ul>

Onemogućeno

Dodajte .disabledu stavke u padajućem izborniku da ih stilizirate kao onemogućene .

<ul class="dropdown-menu">
  <li><a class="dropdown-item" href="#">Regular link</a></li>
  <li><a class="dropdown-item disabled">Disabled link</a></li>
  <li><a class="dropdown-item" href="#">Another link</a></li>
</ul>

Podrazumevano, padajući meni se automatski pozicionira 100% od vrha i duž leve strane svog nadređenog. Ovo možete promijeniti s .drop*klasama usmjerenja, ali ih također možete kontrolirati s dodatnim modifikatorskim klasama.

Dodajte .dropdown-menu-endna .dropdown-menudesno poravnajte padajući meni. Uputstva se preslikavaju kada koristite Bootstrap u RTL-u, što znači .dropdown-menu-endda će se pojaviti na lijevoj strani.

Glavu gore! Padajući meni su pozicionirani zahvaljujući Popperu osim kada su sadržani u navigacijskoj traci.
<div class="btn-group">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Right-aligned menu example
  </button>
  <ul class="dropdown-menu dropdown-menu-end">
    <li><button class="dropdown-item" type="button">Action</button></li>
    <li><button class="dropdown-item" type="button">Another action</button></li>
    <li><button class="dropdown-item" type="button">Something else here</button></li>
  </ul>
</div>

Responsive alignment

Ako želite koristiti responzivno poravnanje, onemogućite dinamičko pozicioniranje dodavanjem data-bs-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|-xxl}-end.

<div class="btn-group">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
    Left-aligned but right aligned when large screen
  </button>
  <ul class="dropdown-menu dropdown-menu-lg-end">
    <li><button class="dropdown-item" type="button">Action</button></li>
    <li><button class="dropdown-item" type="button">Another action</button></li>
    <li><button class="dropdown-item" type="button">Something else here</button></li>
  </ul>
</div>

Za poravnanje lijevog padajućeg menija sa datom tačkom prekida ili većom, dodajte .dropdown-menu-endi .dropdown-menu{-sm|-md|-lg|-xl|-xxl}-start.

<div class="btn-group">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
    Right-aligned but left aligned when large screen
  </button>
  <ul class="dropdown-menu dropdown-menu-end dropdown-menu-lg-start">
    <li><button class="dropdown-item" type="button">Action</button></li>
    <li><button class="dropdown-item" type="button">Another action</button></li>
    <li><button class="dropdown-item" type="button">Something else here</button></li>
  </ul>
</div>

Imajte na umu da ne morate dodavati data-bs-display="static"atribut padajućim dugmadima u navigacijskim trakama, pošto se Popper ne koristi u navigacijskim trakama.

Opcije poravnanja

Uzimajući većinu opcija prikazanih iznad, evo demo male kuhinjske sudopere različitih opcija padajućeg poravnanja na jednom mjestu.

<div class="btn-group">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Right-aligned menu
  </button>
  <ul class="dropdown-menu dropdown-menu-end">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
    Left-aligned, right-aligned lg
  </button>
  <ul class="dropdown-menu dropdown-menu-lg-end">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
    Right-aligned, left-aligned lg
  </button>
  <ul class="dropdown-menu dropdown-menu-end dropdown-menu-lg-start">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group dropstart">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Dropstart
  </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group dropend">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Dropend
  </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group dropup">
  <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Dropup
  </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

Zaglavlja

Dodajte zaglavlje da označite dijelove radnji u bilo kojem padajućem izborniku.

<ul class="dropdown-menu">
  <li><h6 class="dropdown-header">Dropdown header</h6></li>
  <li><a class="dropdown-item" href="#">Action</a></li>
  <li><a class="dropdown-item" href="#">Another action</a></li>
</ul>

Razdjelnici

Grupe povezanih stavki menija odvojite pregradama.

<ul class="dropdown-menu">
  <li><a class="dropdown-item" href="#">Action</a></li>
  <li><a class="dropdown-item" href="#">Another action</a></li>
  <li><a class="dropdown-item" href="#">Something else here</a></li>
  <li><hr class="dropdown-divider"></li>
  <li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>

Tekst

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.

<div class="dropdown-menu p-4 text-muted" style="max-width: 200px;">
  <p>
    Some example text that's free-flowing within the dropdown menu.
  </p>
  <p class="mb-0">
    And this is more example text.
  </p>
</div>

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.

<div class="dropdown-menu">
  <form class="px-4 py-3">
    <div class="mb-3">
      <label for="exampleDropdownFormEmail1" class="form-label">Email address</label>
      <input type="email" class="form-control" id="exampleDropdownFormEmail1" placeholder="[email protected]">
    </div>
    <div class="mb-3">
      <label for="exampleDropdownFormPassword1" class="form-label">Password</label>
      <input type="password" class="form-control" id="exampleDropdownFormPassword1" placeholder="Password">
    </div>
    <div class="mb-3">
      <div class="form-check">
        <input type="checkbox" class="form-check-input" id="dropdownCheck">
        <label class="form-check-label" for="dropdownCheck">
          Remember me
        </label>
      </div>
    </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="mb-3">
    <label for="exampleDropdownFormEmail2" class="form-label">Email address</label>
    <input type="email" class="form-control" id="exampleDropdownFormEmail2" placeholder="[email protected]">
  </div>
  <div class="mb-3">
    <label for="exampleDropdownFormPassword2" class="form-label">Password</label>
    <input type="password" class="form-control" id="exampleDropdownFormPassword2" placeholder="Password">
  </div>
  <div class="mb-3">
    <div class="form-check">
      <input type="checkbox" class="form-check-input" id="dropdownCheck2">
      <label class="form-check-label" for="dropdownCheck2">
        Remember me
      </label>
    </div>
  </div>
  <button type="submit" class="btn btn-primary">Sign in</button>
</form>

Koristite data-bs-offsetili data-bs-referenceda promijenite lokaciju padajućeg izbornika.

<div class="d-flex">
  <div class="dropdown me-1">
    <button type="button" class="btn btn-secondary dropdown-toggle" id="dropdownMenuOffset" data-bs-toggle="dropdown" aria-expanded="false" data-bs-offset="10,20">
      Offset
    </button>
    <ul class="dropdown-menu" aria-labelledby="dropdownMenuOffset">
      <li><a class="dropdown-item" href="#">Action</a></li>
      <li><a class="dropdown-item" href="#">Another action</a></li>
      <li><a class="dropdown-item" href="#">Something else here</a></li>
    </ul>
  </div>
  <div class="btn-group">
    <button type="button" class="btn btn-secondary">Reference</button>
    <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" id="dropdownMenuReference" data-bs-toggle="dropdown" aria-expanded="false" data-bs-reference="parent">
      <span class="visually-hidden">Toggle Dropdown</span>
    </button>
    <ul class="dropdown-menu" aria-labelledby="dropdownMenuReference">
      <li><a class="dropdown-item" href="#">Action</a></li>
      <li><a class="dropdown-item" href="#">Another action</a></li>
      <li><a class="dropdown-item" href="#">Something else here</a></li>
      <li><hr class="dropdown-divider"></li>
      <li><a class="dropdown-item" href="#">Separated link</a></li>
    </ul>
  </div>
</div>

Ponašanje automatskog zatvaranja

Podrazumevano, padajući meni se zatvara kada se klikne unutar ili izvan padajućeg menija. Možete koristiti autoCloseopciju za promjenu ovakvog ponašanja padajućeg izbornika.

<div class="btn-group">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="defaultDropdown" data-bs-toggle="dropdown" data-bs-auto-close="true" aria-expanded="false">
    Default dropdown
  </button>
  <ul class="dropdown-menu" aria-labelledby="defaultDropdown">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuClickableOutside" data-bs-toggle="dropdown" data-bs-auto-close="inside" aria-expanded="false">
    Clickable outside
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenuClickableOutside">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuClickableInside" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
    Clickable inside
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenuClickableInside">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

<div class="btn-group">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuClickable" data-bs-toggle="dropdown" data-bs-auto-close="false" aria-expanded="false">
    Manual close
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenuClickable">
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
    <li><a class="dropdown-item" href="#">Menu item</a></li>
  </ul>
</div>

Sass

Varijable

Varijable za sve padajuće menije:

$dropdown-min-width:                10rem;
$dropdown-padding-x:                0;
$dropdown-padding-y:                .5rem;
$dropdown-spacer:                   .125rem;
$dropdown-font-size:                $font-size-base;
$dropdown-color:                    $body-color;
$dropdown-bg:                       $white;
$dropdown-border-color:             rgba($black, .15);
$dropdown-border-radius:            $border-radius;
$dropdown-border-width:             $border-width;
$dropdown-inner-border-radius:      subtract($dropdown-border-radius, $dropdown-border-width);
$dropdown-divider-bg:               $dropdown-border-color;
$dropdown-divider-margin-y:         $spacer * .5;
$dropdown-box-shadow:               $box-shadow;

$dropdown-link-color:               $gray-900;
$dropdown-link-hover-color:         shade-color($dropdown-link-color, 10%);
$dropdown-link-hover-bg:            $gray-200;

$dropdown-link-active-color:        $component-active-color;
$dropdown-link-active-bg:           $component-active-bg;

$dropdown-link-disabled-color:      $gray-500;

$dropdown-item-padding-y:           $spacer * .25;
$dropdown-item-padding-x:           $spacer;

$dropdown-header-color:             $gray-600;
$dropdown-header-padding:           $dropdown-padding-y $dropdown-item-padding-x;

Varijable za tamni padajući izbornik :

$dropdown-dark-color:               $gray-300;
$dropdown-dark-bg:                  $gray-800;
$dropdown-dark-border-color:        $dropdown-border-color;
$dropdown-dark-divider-bg:          $dropdown-divider-bg;
$dropdown-dark-box-shadow:          null;
$dropdown-dark-link-color:          $dropdown-dark-color;
$dropdown-dark-link-hover-color:    $white;
$dropdown-dark-link-hover-bg:       rgba($white, .15);
$dropdown-dark-link-active-color:   $dropdown-link-active-color;
$dropdown-dark-link-active-bg:      $dropdown-link-active-bg;
$dropdown-dark-link-disabled-color: $gray-500;
$dropdown-dark-header-color:        $gray-500;

Varijable za CSS-bazirane karete koje ukazuju na interaktivnost padajućeg menija:

$caret-width:                 .3em;
$caret-vertical-align:        $caret-width * .85;
$caret-spacing:               $caret-width * .85;

Mixins

Miksini se koriste za generiranje CSS-baziranih kareta i mogu se naći u scss/mixins/_caret.scss.

@mixin caret-down {
  border-top: $caret-width solid;
  border-right: $caret-width solid transparent;
  border-bottom: 0;
  border-left: $caret-width solid transparent;
}

@mixin caret-up {
  border-top: 0;
  border-right: $caret-width solid transparent;
  border-bottom: $caret-width solid;
  border-left: $caret-width solid transparent;
}

@mixin caret-end {
  border-top: $caret-width solid transparent;
  border-right: 0;
  border-bottom: $caret-width solid transparent;
  border-left: $caret-width solid;
}

@mixin caret-start {
  border-top: $caret-width solid transparent;
  border-right: $caret-width solid;
  border-bottom: $caret-width solid transparent;
}

@mixin caret($direction: down) {
  @if $enable-caret {
    &::after {
      display: inline-block;
      margin-left: $caret-spacing;
      vertical-align: $caret-vertical-align;
      content: "";
      @if $direction == down {
        @include caret-down();
      } @else if $direction == up {
        @include caret-up();
      } @else if $direction == end {
        @include caret-end();
      }
    }

    @if $direction == start {
      &::after {
        display: none;
      }

      &::before {
        display: inline-block;
        margin-right: $caret-spacing;
        vertical-align: $caret-vertical-align;
        content: "";
        @include caret-start();
      }
    }

    &:empty::after {
      margin-left: 0;
    }
  }
}

Upotreba

Putem atributa podataka ili JavaScript-a, padajući dodatak uključuje skriveni sadržaj (padajući meniji) tako što uključuje .showklasu na roditelju .dropdown-menu. Atribut data-bs-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 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-bs-toggle="dropdown"na vezu ili dugme da biste uključili padajući meni.

<div class="dropdown">
  <button id="dLabel" type="button" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown trigger
  </button>
  <ul class="dropdown-menu" aria-labelledby="dLabel">
    ...
  </ul>
</div>

Preko JavaScripta

Pozovite padajuće menije putem JavaScripta:

var dropdownElementList = [].slice.call(document.querySelectorAll('.dropdown-toggle'))
var dropdownList = dropdownElementList.map(function (dropdownToggleEl) {
  return new bootstrap.Dropdown(dropdownToggleEl)
})
data-bs-toggle="dropdown"još uvijek potrebno

Bez obzira da li pozivate svoj padajući meni putem JavaScript-a ili umjesto toga koristite data-api, data-bs-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-bs-, kao u data-bs-offset="". Obavezno promijenite tip slučaja naziva opcije iz camelCase u kebab-case kada prenosite opcije preko atributa podataka. Na primjer, umjesto korištenja data-bs-autoClose="false", koristite data-bs-auto-close="false".

Ime Tip Default Opis
boundary string | element 'clippingParents' Granica ograničenja prekoračenja padajućeg menija (odnosi se samo na Popperov modifikator preventOverflow). Podrazumevano je 'clippingParents'i može prihvatiti referencu HTMLElementa (samo putem JavaScripta). Za više informacija pogledajte Popper's detectOverflow dokumente .
reference string | element | objekt 'toggle' Referentni element padajućeg menija. Prihvata vrijednosti 'toggle', 'parent', reference HTMLElementa ili objekta koji pruža getBoundingClientRect. Za više informacija pogledajte dokumente o Popperovim konstruktorima i dokumentima o virtualnim elementima .
display string 'dynamic' Podrazumevano koristimo Popper za dinamičko pozicioniranje. Onemogućite ovo pomoću static.
offset niz | string | funkcija [0, 2]

Pomak padajućeg menija u odnosu na cilj. Možete proslijediti niz u atributima podataka sa vrijednostima odvojenim zarezima kao što su:data-bs-offset="10,20"

Kada se funkcija koristi za određivanje pomaka, ona se poziva s objektom koji sadrži popper položaj, referencu i popper rects kao prvi argument. Okidač elementa DOM čvor se prosljeđuje kao drugi argument. Funkcija mora vratiti niz sa dva broja: .[skidding, distance]

Za više informacija pogledajte Popperove ofset dokumente .

autoClose boolean | string true

Konfigurirajte ponašanje automatskog zatvaranja padajućeg izbornika:

  • true- padajući meni će se zatvoriti klikom izvan ili unutar padajućeg menija.
  • false- padajući meni će se zatvoriti klikom na dugme za prebacivanje i ručnim pozivanjem hideili togglemetodom. (Takođe se neće zatvoriti pritiskom na esctipku)
  • 'inside'- padajući meni će se zatvoriti (samo) klikom unutar padajućeg menija.
  • 'outside'- padajući meni će se zatvoriti (samo) klikom izvan padajućeg menija.
popperConfig null | objekt | funkcija null

Da biste promijenili Bootstrap-ovu zadanu Popper konfiguraciju, pogledajte Popperovu konfiguraciju .

Kada se funkcija koristi za kreiranje Popper konfiguracije, ona se poziva sa objektom koji sadrži Bootstrap-ovu zadanu Popper konfiguraciju. Pomaže vam da koristite i spojite zadanu s vlastitom konfiguracijom. Funkcija mora vratiti konfiguracijski objekt za Popper.

Korištenje funkcije sapopperConfig

var dropdown = new bootstrap.Dropdown(element, {
  popperConfig: function (defaultBsPopperConfig) {
    // var newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

Metode

Metoda Opis
toggle Prebacuje padajući meni određene navigacijske trake ili navigacije sa karticama.
show Prikazuje padajući meni određene navigacijske trake ili navigacije sa karticama.
hide Sakriva padajući meni određene navigacijske trake ili navigacije sa karticama.
update Ažurira poziciju padajućeg menija elementa.
dispose Uništava padajući meni elementa. (Uklanja pohranjene podatke na DOM elementu)
getInstance Statička metoda koja vam omogućava da dobijete padajuću instancu povezanu sa DOM elementom, možete je koristiti ovako:bootstrap.Dropdown.getInstance(element)
getOrCreateInstance Statička metoda koja vraća padajuću instancu pridruženu DOM elementu ili kreira novu u slučaju da nije inicijalizirana. Možete ga koristiti ovako:bootstrap.Dropdown.getOrCreateInstance(element)

Događaji

Svi padajući događaji se aktiviraju na elementu za prebacivanje, a zatim se pojavljuju u obliku mehurića. Tako možete dodati i slušaoce događaja na .dropdown-menuroditeljski element 's. 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.

Metoda Opis
show.bs.dropdown Aktivira se odmah kada se pozove metoda show instance.
shown.bs.dropdown Pokreće se kada je padajući meni učinjen vidljivim za korisnika i kada su CSS prijelazi završeni.
hide.bs.dropdown Aktivira se odmah kada se pozove metoda hide instance.
hidden.bs.dropdown Pokreće se kada se padajući meni završi sa skrivanjem od korisnika i kada se CSS prijelazi dovrše.
var myDropdown = document.getElementById('myDropdown')
myDropdown.addEventListener('show.bs.dropdown', function () {
  // do something...
})