Nav lists
Dropdown menu markup can be used in 12 columns grid, aligned to the left and right, have single or multiple levels, have 100% width and contain all available inline elements (badges, checkboxes, radios, headers, dividers etc). Nested levels are implemented with our regular pills component, which is fully adapted for mobile screens. None of the dropdown options require any additional class names, all is done with utility class names.
Examples:
-
Multi columns menu
Form componentsUI components
-
Grid list
Form componentsUI componentsNavigationExtensions
-
Multi level grid list
Navigation
- Right multi level menu
Content lists
Besides simple navigation lists, dropdown menu can contain more complex lists of content: horizontal and vertical buttons list, all types of media lists, progress bars and lists, language selection etc etc. Just use standard content lists markup, custom mega menu markup and adjust menu width accordingly. For long lists, add .dropdown-menu-scrollable
class to dropdown menu container to limit height to 340px
and make the content scrollable. You can also use color utility classes to change menu color, but bear in mind that some elements require color adjustments in this case.
Examples:
-
Media list
-
Linked media list
James Alexander 04:58who knows, maybe that would be the best thing for me...Margo Baker 12:16That was something he was unable to do because...Jeremy Victorino 22:48But that would be extremely strained and suspicious...Beatrix Diaz TueWhat a strenuous career it is that I've chosen...Richard Vango MonOther travelling salesmen live a life of luxury...
- Progress list
- Link tiles
Content components
Besides navigation, mega dropdown menu can also contain all available components: forms, buttons, cards, 3rd party extensions, tables, images, videos etc. The only one exception is nested dropdowns with data-bs-toggle="dropdown"
attibute due to default BS limitation. If menu doesn't have 100% width, in some cases you would need to set minimum width by using sizing
utility classes, because most of the components are fluid by default and their width depends on parent container width. All components are adapted for mobile browsers.
Examples:
-
Table
Description Category Assigned to Progress Frontpage fixes Bugs 87% CSS compilation Bugs 18% Responsive layout changes Layout 52% Add categories filter Content 100% Media grid padding issue Bugs 100% - Images
- Videos
-
Cards
Cards and card groups View all tasksNov 12, 11:25am Due in 12 days
[#462] - Inaccurate small pagination height
Ouch found swore much dear conductively hid submissively hatchet vexed far inanimately alongside candidly much and jeez
Dec 25, 09:05am Due in 2 days[#548] - Avoid some unnecessary HTML string
Dear spryly growled much far jeepers vigilantly less and far hideous and some mannishly less jeepers less and and crud
Jan 02, 11:25pm Overdue[#764] - Update json configuration
Diabolically somberly astride crass one endearingly blatant depending peculiar antelope piquantly popularly adept much
-
Collapsible
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch.Тon cupidatat skateboard dolor brunch. Тesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda.3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it.Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch.Тon cupidatat skateboard dolor brunch. Тesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda.3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it.
-
Mixed content
Form componentsUI components
Content nav
This option is completely custom - Bootstrap doesn't support content nav components in dropdown menu by default as class name conflicts and dropdown.js
component limitation. This has been improved and both tabs and pills components can be used in dropdowns. There is a requirement - dropdown toggler should have data-bs-auto-close="outside"
attribute to keep menu opened when links inside are clicked. Tabs and pills can be placed anywhere in the dropdown - top, center, bottom, left, right, can be nested and can have any type of content.
Examples:
Menu header styles
All dropdown menus support custom header with a number of elements - plain text, text links, buttons, single icons and icon groups, small images, collapsible panels, badges and badge pills. Thanks to the power of flex model, all elements can be easily aligned vertically and horizontally. Vertical and horizontal spacing of dropdown header is equal to menu body spacing for better content alignment, but you can easily change it using spacing utility classes. Horizontal spacing of menu header depends on menu body spacing.
Examples:
-
Basic
Menu header
-
Text styles
Uppercase header
-
Divider
Divided header
-
Heading
H6 heading title
- Single icon
- Icon group
Menu footer styles
All dropdown menus support custom footers with a number of elements - plain text, text links, buttons, single icons and icon groups, small images, badges and badge pills. Thanks to the power of flex model, all elements can be easily aligned vertically and horizontally. Menu footer appearance is fully controlled by util classes, e.g. top border and light grey background color (some elements require minor color adjustments as well). You can also control other properties such as vertical spacing and other options.
Examples:
Form layouts
Dropdown menu supports all available form layouts - inline, vertical and horizontal. You can use the forms just like anywhere else, they don't require any additional classes or styling. But you need to control dropdown width in order to fit the form rows correctly, because all forms are fluid by default. You can also control form layouts on small screens with grid classes, in case if you need to display complex forms with multiple columns. Examples below demonstrate form layouts, complex multi column form and separate group of form controls.
Examples:
-
Vertical form
Vertical form
-
Horizontal form
Horizontal form
-
Switch list
Stacked switches
-
Checkers list
Stacked checkers
-
Multiple columns
Multi column form
Menu sizing
Dropdown menu has several width options: default dropdown width defined in $dropdown-min-width
or var(--dropdown-min-width)
variable, responsive width
and min-width
utility classes (in pixels and percents), auto width that depends on child content width and full width. Auto width option requires additional utlility classes added to .dropdown-menu
; full width option requires .start-0.end-0.mx-[value]
classes added to .dropdown-nenu
. These 2 options should not have .dropdown
or .dropup
classes since position of parent container should be default (static).
Examples:
-
Auto
Auto width
-
Pixel width
Custom pixel width
-
Percent width
Custom percent width
-
Full width
Full width menu
-
Right (auto)
Auto width
-
Right (px)
Vertical form
-
Right (%)
Vertical form
Content grid
Mega menu component supports a responsive, mobile first fluid grid system that appropriately scales up to 12 columns as the device or viewport size increases. Using a single set of .col-[breakpoint]-[count]
grid classes, you can create a basic grid system that starts out stacked on mobile devices and tablet devices (the extra small to small range) before becoming horizontal on desktop (medium) devices. Place grid columns in any .row
inside mega menu dropdown to make them stackable on mobile or .col-[count]
classes to avoid stacking.
Examples:
-
Content grid
12 columns grid.col-xl-6.col-xl-6.col-xl-4.col-xl-4.col-xl-4.col-xl-8.col-xl-4
-
Columns offset
Columns offset.col-xl-4.col-xl-4 .offset-xl-4.col-xl-4.col-xl-4 .offset-xl-4.col-xl-6 .offset-xl-3
-
No gutters
No gutters.col-4.col-4.col-4.col-6.col-6.col-8.col-4
-
Non-responsive
All breakpoints.col.col.col.col.col-4.col-4.col-4.col-6.col-6
Navigation classes
.nav
options with their own modifier class and require the use of toggler classes for proper responsive styling. Navigation in navbars will also grow to occupy as much horizontal space as possible to keep your navbar contents securely aligned. Dropdown menus require a wrapping element for positioning, so be sure to use separate and nested elements for .nav-item
and .nav-link
.
Class | Description |
---|---|
.nav |
Global wrapper for navigation list. It uses default Bootstrap's styles of .nav component and similar markup options. |
.navbar-nav |
for a full-height and lightweight navigation (including support for dropdowns). |
.nav-item |
This class is required in an immediate nav link parent element in any .nav container: sidebar, navbar, nav groups, tabs, pills etc. |
.nav-item.dropdown |
Combination of these classes is required for items with dropdown menu - nav item with .dropdown class is a dropdown toggle and menu wrapper that declares position: relative; . |
.nav-item.nav-item-dropdown-[breakpoint] |
Combination of these classes keeps default dropdown menus appearance on mobile. Use it only in nav links outside .navbar-collapse container as the behaviour of menus in collapsible containers is different |
.nav-item.dropup |
Same as .dropdown , but this class is required in bottom navbars, because it triggers dropdown menus above elements in navbar. Dropdown caret direction in bottom navbar also depends on this class. |
.navbar-nav-link |
A custom class, unlike Bootstrap's default .nav-link class it doesn't affect navs in dropdowns. This class is responsible for navigation link styling and is also required as a part of nav list element structure. It's also a target for .active and .disabled classes. |
.navbar-nav-link-icon |
For navigation items that contain icon only. This class adjusts left and right paddings to make sure that proportions are preserved. |
.dropdown-scrollable |
This class sets max-height to the dropdown body and adds vertical scrollbar. Can be added to child container to make only body scrollable or to the entire .dropdown-menu . Default max-height value is 340px . |
.w-[breakpoint]-[value] |
Set of responsive utility classes that set min-width property to the .dropdown-menu container. Very useful in dropdowns with long content. Available options for [value] (in pixels): 200, 250, 300, 350, 400, 450, 500, 550, 600. |