Dropdowns

Toggle contextual overlays for displaying lists of links and more with the Bootstrap dropdown plugin.

Single button

Any single .btn can be turned into a dropdown toggle with some markup changes. Here’s how you can put them to work with either <button> elements:

<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>

And with <a> elements:

<div class="dropdown">
                                                                <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>

The best part is you can do this with any button variant, too:

<div class="btn-group">
      <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Primary</button>
      <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><!-- /btn-group -->
    <div class="btn-group">
      <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Secondary</button>
      <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><!-- /btn-group -->
    <div class="btn-group">
      <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Success</button>
      <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><!-- /btn-group -->
    <div class="btn-group">
      <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Info</button>
      <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><!-- /btn-group -->
    <div class="btn-group">
      <button type="button" class="btn btn-warning dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Warning</button>
      <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><!-- /btn-group -->
    <div class="btn-group">
      <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Danger</button>
      <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><!-- /btn-group -->

Sizing

Button dropdowns work with buttons of all sizes, including default and split dropdown buttons.

 <!-- Large button groups (default and split) -->
<div class="btn-group">
  <button class="btn btn-secondary btn-lg dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Large button
  </button>
  <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>
<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-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span class="sr-only">Toggle Dropdown</span>
  </button>
  <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>

<!-- Small button groups (default and split) -->
<div class="btn-group">
  <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Small button
  </button>
  <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>
<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-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span class="sr-only">Toggle Dropdown</span>
  </button>
  <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>
               

Directions

Dropup

Trigger dropdown menus above elements by adding .dropup to the parent element.

<!-- Default dropup button -->
                                                            <div class="btn-group dropup">
                                                               <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                               Dropup
                                                               </button>
                                                               <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>
                                                            <!-- 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-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                               <span class="sr-only">Toggle Dropdown</span>
                                                               </button>
                                                               <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>

Dropright

Trigger dropdown menus at the right of the elements by adding .dropright to the parent element.

<div class="btn-group dropright">
                                                            <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                            Dropright
                                                            </button>
                                                            <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>
                                                         <!-- Split dropright button -->
                                                         <div class="btn-group dropright">
                                                            <button type="button" class="btn btn-secondary">
                                                            Split dropright
                                                            </button>
                                                            <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                            <span class="sr-only">Toggle Dropdown</span>
                                                            </button>
                                                            <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>

Dropleft

Trigger dropdown menus at the right of the elements by adding .dropleft to the parent element.

<div class="btn-group dropleft">
                                                            <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                            Dropright
                                                            </button>
                                                            <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>
                                                         <!-- Split dropleft button -->
                                                         <div class="btn-group dropleft">
                                                            <button type="button" class="btn btn-secondary">
                                                            Split dropleft
                                                            </button>
                                                            <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                            <span class="sr-only">Toggle Dropdown</span>
                                                            </button>
                                                            <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>

<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>

You can also create non-interactive dropdown items with .dropdown-item-text. Feel free to style further with custom CSS or text utilities.

<div class="dropdown-menu d-block position-static">
                                                            <span class="dropdown-item-text">Dropdown item text</span>
                                                            <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>

Active

Add .active to items in the dropdown to style them as active.

<div class="dropdown-menu d-block position-static">
                                                            <span class="dropdown-item-text">Dropdown item text</span>
                                                            <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>

Disabled

Add .disabled to items in the dropdown to style them as disabled.

<div class="dropdown-menu d-block position-static">
                                                            <span class="dropdown-item-text">Dropdown item text</span>
                                                            <a class="dropdown-item" href="#">Action</a>
                                                            <a class="dropdown-item disabled" href="#" tabindex="-1" aria-disabled="true">Disabled link</a>
                                                            <a class="dropdown-item" href="#">Something else here</a>
                                                         </div>

Menu alignment

By default, a dropdown menu is automatically positioned 100% from the top and along the left side of its parent. Add .dropdown-menu-right to a .dropdown-menu to right align the dropdown menu.

<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>

Responsive alignment

To align right the dropdown menu with the given breakpoint or larger, add .dropdown-menu{-sm|-md|-lg|-xl}-right.

<div class="btn-group">
                                                            <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
                                                            Left-aligned but right aligned when large screen
                                                            </button>
                                                            <div class="dropdown-menu dropdown-menu-lg-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>

To align left the dropdown menu with the given breakpoint or larger, add .dropdown-menu-right and .dropdown-menu{-sm|-md|-lg|-xl}-left.

<div class="btn-group">
                                                            <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
                                                            Right-aligned but left aligned when large screen
                                                            </button>
                                                            <div class="dropdown-menu dropdown-menu-right dropdown-menu-lg-left">
                                                               <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>

Dividers

Separate groups of related menu items with a divider.

<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>