Bird
Raised Fist0
CSSmarkup~5 mins

Stacking context in CSS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a stacking context in CSS?
A stacking context is like a special group in CSS where elements are stacked in order. Elements inside this group stack above or below each other without mixing with elements outside the group.
Click to reveal answer
beginner
Name one CSS property that creates a new stacking context.
The position property with values relative, absolute, or fixed combined with a z-index value other than auto creates a new stacking context.
Click to reveal answer
beginner
How does the z-index property relate to stacking contexts?
z-index controls the order of elements inside a stacking context. Higher z-index means the element appears on top within that context.
Click to reveal answer
intermediate
True or False: Elements from different stacking contexts can overlap based on their z-index values alone.
False. Elements in different stacking contexts stack independently. Their z-index values only affect order inside their own context, not across contexts.
Click to reveal answer
intermediate
What happens visually when a new stacking context is created?
Visually, the new stacking context acts like a separate layer. Elements inside it stack among themselves, but the whole group stacks as one unit with other elements outside.
Click to reveal answer
Which CSS property combination creates a new stacking context?
Acolor: red;
Bfont-size: 16px;
Cmargin: 10px;
Dposition: relative; z-index: 1;
Inside a stacking context, which element appears on top?
AElement with the lowest z-index
BElement with the highest z-index
CElement that appears first in HTML
DElement with the largest size
True or False: z-index values affect stacking order across different stacking contexts.
AFalse
BTrue
COnly if z-index is greater than 10
DOnly for fixed position elements
Which of these CSS properties does NOT create a stacking context by itself?
Abackground-color
Btransform with any value
Cposition: fixed
Dopacity less than 1
What is the visual effect of stacking contexts on overlapping elements?
AStacking contexts have no effect on overlap
BElements from different contexts mix freely based on z-index
CEach stacking context stacks its elements independently
DElements with lower opacity always appear on top
Explain what a stacking context is and why it matters in CSS layout.
Think about how layers stack in real life, like papers on a desk.
You got /4 concepts.
    List common CSS properties or conditions that create a new stacking context.
    Remember properties that change how browsers group elements visually.
    You got /5 concepts.

      Practice

      (1/5)
      1. What creates a new stacking context in CSS?
      easy
      A. An element with color property set
      B. An element with position: relative and z-index set
      C. Any element with display: block
      D. An element with margin applied

      Solution

      1. Step 1: Understand stacking context creation

        A stacking context is created by elements with position other than static and a z-index value set.
      2. Step 2: Analyze options

        Only An element with position: relative and z-index set mentions position: relative with z-index, which creates a stacking context. Other options do not create stacking contexts.
      3. Final Answer:

        An element with position: relative and z-index set -> Option B
      4. Quick Check:

        Stacking context = position + z-index [OK]
      Hint: Look for position plus z-index to spot stacking contexts [OK]
      Common Mistakes:
      • Thinking any positioned element creates stacking context without z-index
      • Confusing display or color properties with stacking context
      • Assuming margin affects stacking order
      2. Which CSS snippet correctly creates a stacking context?
      easy
      A. position: static; z-index: 10;
      B. display: inline; z-index: 3;
      C. position: relative; z-index: 5;
      D. color: red; z-index: 1;

      Solution

      1. Step 1: Check position and z-index combination

        Only elements with position other than static and a z-index value create stacking contexts.
      2. Step 2: Evaluate each option

        position: relative; z-index: 5; uses position: relative and z-index: 5, which correctly creates a stacking context. Others either have static position or irrelevant properties.
      3. Final Answer:

        position: relative; z-index: 5; -> Option C
      4. Quick Check:

        Position relative + z-index creates stacking context [OK]
      Hint: Position must not be static to create stacking context [OK]
      Common Mistakes:
      • Using position static with z-index expecting stacking context
      • Assuming display or color create stacking contexts
      • Ignoring that inline elements don't create stacking contexts with z-index
      3. Given this HTML and CSS, which element appears on top visually?
      <div class='parent'>
        <div class='child1'>Child 1</div>
        <div class='child2'>Child 2</div>
      </div>
      
      .parent { position: relative; z-index: 1; }
      .child1 { position: absolute; z-index: 2; }
      .child2 { position: absolute; z-index: 1; }
      medium
      A. Parent appears on top of children
      B. Child 2 appears on top
      C. Both overlap equally, no stacking order
      D. Child 1 appears on top

      Solution

      1. Step 1: Identify stacking contexts

        The parent has position: relative and z-index: 1, creating a stacking context. Children stack inside this context.
      2. Step 2: Compare children's z-index inside stacking context

        Child 1 has z-index: 2, child 2 has z-index: 1. Higher z-index means it appears on top.
      3. Final Answer:

        Child 1 appears on top -> Option D
      4. Quick Check:

        Higher z-index inside stacking context = on top [OK]
      Hint: Higher z-index inside same stacking context is on top [OK]
      Common Mistakes:
      • Ignoring stacking context created by parent
      • Assuming parent overlays children
      • Confusing absolute positioning with stacking order
      4. Why does this CSS not create a stacking context as expected?
      .box { position: absolute; }

      What is missing?
      medium
      A. Missing z-index property
      B. Position should be static
      C. Need display: block
      D. Color property must be set

      Solution

      1. Step 1: Understand stacking context requirements

        Positioned elements create stacking contexts only if z-index is set.
      2. Step 2: Analyze given CSS

        The element has position: absolute but no z-index, so no stacking context is created.
      3. Final Answer:

        Missing z-index property -> Option A
      4. Quick Check:

        Position alone doesn't create stacking context without z-index [OK]
      Hint: Position plus z-index needed for stacking context [OK]
      Common Mistakes:
      • Assuming position absolute alone creates stacking context
      • Thinking display or color affect stacking context
      • Confusing static position with stacking context creation
      5. You have nested elements:
      <div class='outer'>
        <div class='inner'>Content</div>
      </div>

      CSS:
      .outer { position: relative; z-index: 1; }
      .inner { position: relative; z-index: 10; }

      Which statement is true about their stacking order?
      hard
      A. Inner's z-index 10 stacks only inside outer's stacking context
      B. Inner's z-index 10 places it above all elements outside outer
      C. Outer and inner share the same stacking context ignoring z-index
      D. Inner's z-index is ignored because outer has lower z-index

      Solution

      1. Step 1: Identify stacking contexts

        The outer element creates a stacking context with position: relative and z-index: 1. The inner element creates a new stacking context inside outer with position: relative and z-index: 10.
      2. Step 2: Understand stacking context isolation

        Inner's stacking order is only relative to siblings inside outer's stacking context. It cannot escape outer's stacking context to appear above elements outside it.
      3. Final Answer:

        Inner's z-index 10 stacks only inside outer's stacking context -> Option A
      4. Quick Check:

        Nested stacking contexts isolate z-index scope [OK]
      Hint: Nested stacking contexts isolate z-index effects [OK]
      Common Mistakes:
      • Thinking inner z-index affects outside elements
      • Assuming stacking contexts merge ignoring nesting
      • Believing outer's lower z-index cancels inner's stacking