From b3e9547c59a02675acd5ac70370797f95f0a7bcb Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sat, 23 Dec 2017 13:17:23 -0800 Subject: [PATCH] further clarify z-index docs, fix #24999 --- docs/4.0/layout/overview.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/4.0/layout/overview.md b/docs/4.0/layout/overview.md index 9ac82d7bdf6b..5a34beebfa7e 100644 --- a/docs/4.0/layout/overview.md +++ b/docs/4.0/layout/overview.md @@ -162,7 +162,9 @@ The Sass mixin for targeting the same screen size range would be: 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. -We don't encourage customization of these values; should you change one, you likely need to change them all. +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. ```scss $zindex-dropdown: 1000 !default; @@ -174,6 +176,4 @@ $zindex-popover: 1060 !default; $zindex-tooltip: 1070 !default; ``` -Background elements—like the backdrops that allow click-dismissing—tend to reside on a lower `z-index`s, while navigation and popovers utilize higher `z-index`s to ensure they overlay surrounding content. - -Additionally, the `button-group`, `input-group`, `list-group`, and `pagination` components make use of setting `z-index` to `1` or `2` in order to ensure that the borders of the _active_ element correctly appear "above" their sibling elements. +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.