Dropdown Menus — free UI pack by uiCookies

A pack of eight dropdown menu sets for apps and websites, designed and maintained in-house by uiCookies: action menus, account menus, split buttons, nested submenus, navbar and mega dropdowns, row and right-click context menus, a dark set and a modern CSS set with no JavaScript. Every set comes three ways: a Bootstrap 5.3.8 version built on Bootstrap’s own Dropdown plugin and dropdown styles, a plain CSS version with a small vanilla script, and a Tailwind CSS 4 version written in utility classes.

A good dropdown menu is predictable from the keyboard and honest about what it is. A menu of commands should behave like one: arrow keys move, Esc closes and puts focus back on the button, and a click outside dismisses it. A set of navigation links is not a command menu, so a navbar dropdown should be a disclosure panel that you Tab through, not role="menu". Name icon-only triggers after what they act on, say why a disabled item is disabled, keep shortcuts readable to screen readers, and never let a menu open off the edge of a phone screen.

Free download Browse live demos All snippets

The sets

1. Action Dropdown Menus

Action Dropdown Menus — free dropdown menu snippet in CSS, Bootstrap and Tailwind by uiCookies

Three action menus: icons with shortcuts and a red Delete, labelled groups with a disabled item that says why, and a New menu whose items carry descriptions.

Use them for toolbar, row and create actions. The plain and Tailwind versions follow the WAI-ARIA menu button pattern with a short script; Bootstrap uses its Dropdown plugin.

Live Demo CSS, Bootstrap & Tailwind code

2. Account Dropdown Menus

Account Dropdown Menus — free dropdown menu snippet in CSS, Bootstrap and Tailwind by uiCookies

An avatar menu with a profile header, a workspace switcher with a tick on the current workspace, and a profile card menu with a plan badge and storage meter.

Use them at the top right of an app. The header labels the first group, so the name and email are announced when the menu opens.

Live Demo CSS, Bootstrap & Tailwind code

3. Split Button Dropdowns

Split Button Dropdowns — free dropdown menu snippet in CSS, Bootstrap and Tailwind by uiCookies

A merge split button whose menu choice relabels the main action, an email toolbar with a Move to dropdown, and a drop-up Send button in a composer.

Reach for these when one action is the default and the rest are close relatives. Bootstrap uses .btn-group, .dropdown-toggle-split and .dropup.

Live Demo CSS, Bootstrap & Tailwind code

4. Nested Dropdown Submenus

Nested Dropdown Submenus — free dropdown menu snippet in CSS, Bootstrap and Tailwind by uiCookies

An Insert menu with Image, Table and Chart submenus, and a three-level Move to menu that cascades to the left from a file row.

Submenus open on hover with a close delay and with ArrowRight, and close with ArrowLeft or Esc. Under 600px they open inline so nothing runs off the screen.

Live Demo CSS, Bootstrap & Tailwind code

Navbar Dropdown Menus — free dropdown menu snippet in CSS, Bootstrap and Tailwind by uiCookies

A product navbar with a Product panel of described links, and a shop navbar with a two-column mega dropdown and a featured card.

They use the disclosure pattern, because navigation links are not commands: Tab moves through the links, Esc closes and returns focus.

Live Demo CSS, Bootstrap & Tailwind code

6. Overflow and Context Menus

Overflow and Context Menus — free dropdown menu snippet in CSS, Bootstrap and Tailwind by uiCookies

A team list whose more buttons open per-person actions, and a photo board with a right-click context menu that opens at the pointer.

The context menu also opens with Shift+F10 or the Menu key, includes a checkbox item, and returns focus to the photo when it closes.

Live Demo CSS, Bootstrap & Tailwind code

7. Dark Dropdown Menus

Dark Dropdown Menus — free dropdown menu snippet in CSS, Bootstrap and Tailwind by uiCookies

A Deploy command menu with keycap shortcuts, a chat status menu with radio items, and a translucent glass menu over album artwork.

Muted text reaches 4.5:1 on near-black, the status choice updates the button, and Bootstrap uses data-bs-theme="dark".

Live Demo CSS, Bootstrap & Tailwind code

8. Modern CSS Dropdown Menus

Modern CSS Dropdown Menus — free dropdown menu snippet in CSS, Bootstrap and Tailwind by uiCookies

A Share menu and a nested Export submenu built with popover and CSS anchor positioning, with position-try-fallbacks to flip them near window edges.

No JavaScript: the browser opens, closes and restores focus, @starting-style animates them, and browsers without anchor positioning show a bottom sheet.

Live Demo CSS, Bootstrap & Tailwind code

Frequently asked questions

Are these dropdown menus free to use?

Yes. All eight sets are free for personal and commercial projects, including client work and products you sell. Attribution is optional but always welcome. The full terms are on the uiCookies licence page.

Do the dropdown menus need JavaScript?

Menus that respond to arrow keys need a little. The plain CSS and Tailwind versions of sets 1 to 7 include a short vanilla script with no libraries, and the Bootstrap versions load the Bootstrap bundle for its Dropdown plugin, plus a few lines for submenus, radio items and the context menu. Set 8 uses the popover attribute and CSS anchor positioning and needs no JavaScript at all.

Are the dropdown menus accessible?

Command menus follow the WAI-ARIA menu button pattern with aria-haspopup, aria-expanded and aria-controls, arrow keys, Home and End, and Esc returning focus to the button. Navbar dropdowns use the disclosure pattern because they hold links. Icon-only triggers are named, and every set passes an axe-core WCAG 2.1 AA check with visible focus outlines and motion that stops under prefers-reduced-motion.

Which frameworks are covered?

Every set comes as plain CSS with a small vanilla script, as Bootstrap 5.3.8 using the Dropdown plugin, .dropdown-menu, .btn-group and .navbar restyled through Bootstrap variables, and as Tailwind CSS 4 utility classes. The three versions of a set look the same, so you can switch stacks without redesigning.

How do I add a submenu to a Bootstrap dropdown menu?

Bootstrap 5 has no nested dropdowns. Set 4 keeps Bootstrap’s Dropdown plugin for the first level, places each submenu as a .dropdown-menu inside a wrapper next to its item, and adds a short script that opens it on hover, click or ArrowRight and closes it with ArrowLeft or Esc. Under 600px the submenus open inline so they never run off a phone screen.

Ryan Cooper

Designed & written by Ryan Cooper

Aigars is the founder of Colorlib and uiCookies and has been designing and shipping free website templates since 2013. Every template and UI pack on uiCookies is designed and maintained in-house.

XLinkedInMore about uiCookies →

uiCookies content is free. When you buy through links on our site, we may earn an affiliate commission.