Menu

Menus are just like the context menu you often see in most web browsers and applications. They are really helpful components because they don’t take up any permanent space on the UI; they are hidden until the user clicks the related anchor element.

Examples

Default

Normally, the menu opens below its anchor element while still preserving the overflowing outside the viewport. If there isn’t enough space at the bottom of the anchor element to display the menu, the menu will try to be displayed above, left, or right.

Copy
Cut
Paste

Leading icon and Trailing text

Menu items can include a leading icon, trailing icon, and trailing text. Trailing text is primarily used to display the keyboard shortcut of that menu item, and they are displayed in a lower contrast than the item’s label.

Copy Ctrl+C
Cut Ctrl+X
Paste Ctrl+V

Nested Sub-Menus

Menus can also include nested submenus that also contain other nested submenus. However, using deeply nested menus isn’t recommended; they can be hard to navigate and confuse the user.

Open in Current Window
Open in New Window
Open in Private Window
Open in Current Window
Open in New Window
Open in Private Window
Open in Current Window
Open in New Window
Open in Private Window

Copy Ctrl+C
Cut Ctrl+X
Paste Ctrl+V

Compress Using GZIP
Compress Using BZIP
Compress Using 7ZIP

Placement

The menu supports above, below, left, and right placements relative to its anchor element. Default placement is below. You can modify the placement using data-flexy-menu-placement attribute.

Copy
Cut
Paste
Copy
Cut
Paste
Copy
Cut
Paste
Copy
Cut
Paste

Context Menu

You can also use FlexyMenu as a context menu by adding the flexy-menu--contextmenu CSS class name. The context menu will open on right-click at the near of the cursor. Submenus cannot be context menus.

Pause
Mute
Show controls
0.25x
0.5x
1x
1.25x
1.5x
2x

Accessibility

Flexy menus are fully compatible with WAI-ARIA keyboard navigation standards.

Refer to the W3C Menu Accessibility Guidelines.

Customization

Supported Classes

Supported Tokens

Last modified: Oct 20, 2025: docs: Fix summary breakpoints in components pages (5ac5ea3)