Dropdowns

Toggle contextual overlays for displaying lists of links and more with the Bootstrap dropdown plugin. Read the Official Bootstrap Documentation for a full list of instructions and other options.


Basic Example

Wrap the dropdown’s toggle (your button or link) and the dropdown menu within .dropdown, or another element that declares position: relative;. Dropdowns can be triggered from <a> or <button> elements to better fit your potential needs.

<div class="dropdown">
	<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-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>

Dropdown variations

Add class .btn-* for solid colored buttons.


Split button

Similarly, create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of .dropdown-toggle-split for proper spacing around the dropdown caret.

<div class="btn-group">
	<button type="button" class="btn btn-primary">Primary</button>
	<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
		<span class="visually-hidden">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>
</div>

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-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
		Large button
	</button>
	<div class="dropdown-menu">
		...
	</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-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
		<span class="visually-hidden">Toggle Dropdown</span>
	</button>
	<div class="dropdown-menu">
		...
	</div>
</div>

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

Dropup

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

<div class="btn-group dropup">
	<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-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>
</div>

Dropright

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

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

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

Dropleft

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

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

<!-- Split dropleft 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-haspopup="true" aria-expanded="false">
			<span class="visually-hidden">Toggle Dropleft</span>
		</button>
		<div class="dropdown-menu">
			<!-- Dropdown menu links -->
		</div>
	</div>
	<button type="button" class="btn btn-secondary">
		Split dropleft
	</button>
</div>

Active menu item

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

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

Disabled menu item

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

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

Add a header to label sections of actions in any dropdown menu.


Separate groups of related menu items with a divider.


Place any freeform text within a dropdown menu with text and use spacing utilities. Note that you’ll likely need additional sizing styles to constrain the menu width.


Put a form within a dropdown menu, or make it into a dropdown menu, and use margin or padding utilities to give it the negative space you require.