Z-index
Bootstrap 5 Z-index
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 100
+ or 500
+.
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 digit z-index
values of 1
, 2
, and
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.