Skip to content

Z-index & layering

Two stacking systems. Do not mix them for the same job.

  1. Top layerDialog and Drawer via showModal(). Above every z-index. UI that must appear over a modal lives inside that <dialog> (or the Popover API). Native ::backdrop is enough; skip Backdrop.
  2. --af-z-* scale — everything else. Use a token. Never invent values between bands.
LayerTokenValueUsed by
Content—af-z-base0In-flow. Local -1 / 0 / 1 only
Dropdown—af-z-dropdown1000Dropdown, Tooltip, navbar sheet
Sticky—af-z-sticky1100Sticky navbar
Overlay—af-z-overlay1200Backdrop; open navbar sheet
Modal—af-z-modal1300Custom (non–top-layer) modals; focused skip
Toast—af-z-toast1400Toast
Loader—af-z-loader1500Page loader

Dropdowns inside a sticky navbar stack within that bar’s context.

Rules: tokens only · prefer native dialog · keep menus/toasts over a modal inside the dialog · local -1/0/1 never join the global scale.