Z-index - Bootstrap 5 & Material Design 2.0
While not a part of Bootstrap’s grid system, z-indexes play an important part in how our components overlay and interact with one another.
Several Bootstrap components utilize
z-index, the CSS property that helps control layout by
providing a third axis to arrange content. We utilize a default z-index scale in Bootstrap that’s been designed to
properly layer navigation, tooltips and popovers, modals, and more.
These higher values start at an arbitrary number, high and specific enough to ideally avoid conflicts. We need a
standard set of these across our layered components—tooltips, popovers, navbars, dropdowns, modals—so we can be
reasonably consistent in the behaviors. There’s no reason we couldn’t have used
We don’t encourage customization of these individual values; should you change one, you likely need to change them all.
$zindex-sidenav-backdrop: 900; $zindex-sidenav: 1035; $zindex-timepicker: 1055; $zindex-datepicker: 1055; $zindex-datepicker-container: 1056; $zindex-toast: 1060; $zindex-alert: 1070; $zindex-popconfirm-backdrop: 1070; $zindex-popconfirm: 1080; $zindex-popover: 1080; $zindex-tooltip: 1090; $zindex-lightbox: 1100; $zindex-lightbox-toolbar: 1110;
To handle overlapping borders within components (e.g., buttons and inputs in input groups), we use low single
z-index values of
3 for default, hover, and
active states. On hover/focus/active, we bring a particular element to the forefront with a higher
z-index value to show their border over the sibling elements.