DropdownSingle button

Each single .btn can be changed into a dropdown toggle with small changes. Here’s how you can put them to work with either <button> elements:

And with <a> elements:

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

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

We use this extra class to reduce the horizontal padding on either side of the caret by 25% and remove the margin-left that’s attached for normal button dropdowns. Those additional changes hold the caret centered in the split button and implement a more properly sized hit area next to the main button.


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

DropdownDark dropdowns

Opt into darker dropdowns to match a dark navbar or custom style by adding .dropdown-menu-dark onto an existing .dropdown-menu. No changes are required to the dropdown items.

And putting it to use in a navbar:


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


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


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

DropdownMenu items

Historically dropdown menu contents had to be links, but that’s no longer the case with v4. Now you can optionally use <button> elements in your dropdowns instead of just <a>s.

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


Add .active to items in the dropdown to style them as active. To convey the active state to assistive technologies, use the aria-current attribute — using the page value for the current page, or true for the current item in a set.


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

DropdownMenu alignment

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

DropdownResponsive alignment

If you want to use responsive alignment, disable dynamic positioning by adding the data-coreui-display="static" attribute and use the responsive variation classes.

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


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.