๐Ÿ” 08. Positioning๊ณผ Stacking Context: 'z-index์˜ ์ง„์‹ค'

2026๋…„ 3์›” 5์ผ ์ˆ˜์ •๋จ

๐Ÿ“‹ ๊ฐœ์š”

์š”์†Œ๋ฅผ ์ž์œ ์ž์žฌ๋กœ ๋ฐฐ์น˜ํ•˜๋Š” position ์†์„ฑ์˜ ์ •์„๊ณผ, z-index๊ฐ€ ๋จนํžˆ์ง€ ์•Š๋Š” ๊ทผ๋ณธ์ ์ธ ์ด์œ ์ธ '์Œ“์ž„ ๋งฅ๋ฝ'์„ ์˜์ฒ ์ด์™€ ํ•จ๊ป˜ ํŒŒํ—ค์ณ ๋ด…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด ๋ฌธ์„œ๋ฅผ ์ฝ๊ธฐ ์ „์—

โฑ๏ธ ์˜ˆ์ƒ ์ฝ๊ธฐ ์‹œ๊ฐ„: 9๋ถ„(์ „์ฒด) / ํ•ต์‹ฌ ํŒŒํŠธ๋งŒ: 5๋ถ„

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ํ๋ฆ„
[Position 4์ธ๋ฐฉ์˜ ํŠน์„ฑ] โ†’ [Sticky์˜ ์‹ค๋ฌด ํ™œ์šฉ] โ†’ [Stacking Context์˜ ๋น„๋ฐ€]

๐ŸŽฏ ์ด ๋ฌธ์„œ๋ฅผ ๋‹ค ์ฝ์œผ๋ฉด ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

  • relative, absolute, fixed, sticky๋ฅผ ์šฉ๋„์— ๋งž๊ฒŒ ์ •ํ™•ํžˆ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • z-index: 9999๋ฅผ ๋‚จ๋ฐœํ•˜์ง€ ์•Š๊ณ ๋„ ์š”์†Œ๋ฅผ ์›ํ•˜๋Š” ์ธต์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด '์Œ“์ž„ ๋งฅ๋ฝ'์ด ์ƒ๊ธฐ๋Š” ์กฐ๊ฑด์„ ํŒŒ์•…ํ•ด ๋ฒ„๊ทธ๋ฅผ ๋ฏธ๋ฆฌ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ๋ฐฐ๊ฒฝ ์„ธ๊ณ„๊ด€: '์˜์ˆ˜๋„ค ์ปค๋ฎค๋‹ˆํ‹ฐ'

  • ๐Ÿฃ ์˜์ฒ  ( ์‹ ์ž… ): "์˜ํ˜ธ ๋‹˜! ๋ถ„๋ช…ํžˆ ๋ชจ๋‹ฌ์— z-index: 999999๋ฅผ ์คฌ๊ฑฐ๋“ ์š”? ๊ทผ๋ฐ ์™œ ์ž๊พธ ์‚ฌ์ด๋“œ๋ฐ” ๋ฐ‘์— ๊น”๋ฆฌ๋Š” ๊ฑธ๊นŒ์š”? ์ด๊ฑฐ ๋ธŒ๋ผ์šฐ์ € ๋ฒ„๊ทธ ์•„๋‹Œ๊ฐ€์š”? ์–ต์šธํ•ด์š”! ๐Ÿ˜ซ"
  • ๐Ÿฆ ์˜ํ˜ธ ( ๋ฆฌ๋“œ ): "์˜์ฒ  ๋‹˜, z-index๋Š” ๋‹จ์ˆœํ•œ ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ์—์š”. ์šฐ์ฃผ์˜ ๋ฒ•์น™์ฒ˜๋Ÿผ '์ฐจ์›(Stacking Context)'์ด ๋‹ค๋ฅด๋ฉด ์ˆซ์ž๊ฐ€ ์•„๋ฌด๋ฆฌ ์ปค๋„ ์†Œ์šฉ์—†์ฃ . ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํƒ“ํ•˜๊ธฐ ์ „์— ์˜์ฒ  ๋‹˜์ด ์–ด๋–ค ์ฐจ์›์„ ๋งŒ๋“œ์…จ๋Š”์ง€๋ถ€ํ„ฐ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค."

๐Ÿค” ์™œ ์•Œ์•„์•ผ ํ•˜๋Š”๊ฐ€

์›น ํŽ˜์ด์ง€๋Š” 2์ฐจ์› ํ‰๋ฉด์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋ ˆ์ด์–ด๋“ค์ด ๊ฒน๊ฒน์ด ์Œ“์—ฌ ์žˆ๋Š” 3์ฐจ์› ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. position์€ ์ด ๊ณต๊ฐ„ ์•ˆ์—์„œ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , z-index๋Š” ๊ทธ ์ธต์ˆ˜(Layer)๋ฅผ ๊ฒฐ์ •ํ•˜์ฃ .

์‹ ์ž… ๊ฐœ๋ฐœ์ž๋“ค์€ ํ™”๋ฉด์ด ๊ผฌ์ด๋ฉด ๋ฌด์ง€์„ฑ์œผ๋กœ z-index ์ ์ˆ˜๋ฅผ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ๋จธ์ง€์•Š์•„ z-index: 2147483647์ด๋ผ๋Š” ๊ดด๋ฌผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋‚ณ๊ณ , ๊ด€๋ฆฌ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์— ๋น ์ง€๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. 5๋…„์ฐจ ์ด์ƒ์˜ ์‹œ๋‹ˆ์–ด๋Š” Stacking Context(์Œ“์ž„ ๋งฅ๋ฝ) ๋ผ๋Š” ์ฐจ์›์˜ ๊ทœ์น™์„ ์ดํ•ดํ•ด, ๋‹จ 1์ ์˜ ์ ์ˆ˜๋งŒ์œผ๋กœ๋„ ์šฐ์•„ํ•˜๊ฒŒ ์š”์†Œ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“ 1. ์œ„์น˜์˜ ๋งˆ๋ฒ•์‚ฌ: Position ์†์„ฑ

  1. relative: "๋‚ด ์›๋ž˜ ์ž๋ฆฌ"๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ด์ง๋งŒ ์›€์ง์ž…๋‹ˆ๋‹ค. (์ž์‹ ์š”์†Œ absolute์˜ ๊ธฐ์ค€์ ์ด ๋˜๊ธฐ๋„ ํ•จ)
  2. absolute: "๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์กฐ์ƒ(position์ด static์ด ์•„๋‹Œ)"์„ ๊ธฐ์ค€์œผ๋กœ ์ž์œ ๋กญ๊ฒŒ ๋‚ ์•„๋‹ค๋‹™๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ํ๋ฆ„(Document Flow)์—์„œ ์™„์ „ํžˆ ๋น ์ง‘๋‹ˆ๋‹ค.
  3. fixed: "๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด(Viewport)"์— ๋”ฑ ๋ถ™์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋กค์„ ๋‚ด๋ ค๋„ ๊ณ ์ •๋ฉ๋‹ˆ๋‹ค.
  4. sticky: ํ‰์†Œ์—” ์ผ๋ฐ˜์ ์ธ ํ๋ฆ„์— ์žˆ๋‹ค๊ฐ€, ์Šคํฌ๋กค์ด ํŠน์ • ์ง€์ ์— ๋„๋‹ฌํ•˜๋ฉด fixed์ฒ˜๋Ÿผ ๋‹ฌ๋ผ๋ถ™์Šต๋‹ˆ๋‹ค. (ํ‘œ์˜ ํ—ค๋” ๋“ฑ์— ํ™˜์ƒ์ !)

๐Ÿฆ ์˜ํ˜ธ์˜ ํŒ:
"absolute ์š”์†Œ๋ฅผ ์ผ์„ ๋•Œ ๊ธฐ์ค€์ ์ด ์—‰๋šฑํ•œ ๊ณณ์œผ๋กœ ์žกํžŒ๋‹ค๋ฉด, ๋ถ€๋ชจ ์š”์†Œ์— position: relative๊ฐ€ ๋น ์ ธ์žˆ์ง€ ์•Š์€์ง€ ์ œ์ผ ๋จผ์ € ํ™•์ธํ•ด๋ณด์„ธ์š”."


๐Ÿ—๏ธ 2. Stacking Context: ๋ณด์ด์ง€ ์•Š๋Š” ์ฐจ์›์˜ ๋ฒฝ

์™œ z-index: 9999๊ฐ€ ์•ˆ ๋จนํž๊นŒ์š”? ๋ฐ”๋กœ ์ƒˆ๋กœ์šด ์Œ“์ž„ ๋งฅ๋ฝ์ด ์ƒ๊ฒผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์Œ“์ž„ ๋งฅ๋ฝ์€ ์ƒˆ๋กœ์šด '์ฐจ์›(Dimension)' ์ž…๋‹ˆ๋‹ค. ํ•œ๋ฒˆ ์ฐจ์›์ด ๋งŒ๋“ค์–ด์ง€๋ฉด, ๊ทธ ์•ˆ์˜ ์ž์‹ ์š”์†Œ๋“ค์€ ์•„๋ฌด๋ฆฌ z-index๋ฅผ ํฌ๊ฒŒ ์ค˜๋„ ๋ถ€๋ชจ ์ฐจ์›์˜ ๋ฒฝ์„ ๋„˜์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋งˆ์น˜ ์•„ํŒŒํŠธ 1์ธต์—์„œ 999ํ˜ธ๋ฅผ ์‚ฐ๋‹ค๊ณ  2์ธต์— ์‚ฌ๋Š” ์‚ฌ๋žŒ๋ณด๋‹ค ๋†’์ด ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ฒ˜๋Ÿผ์š”!

๐Ÿง  ์˜ํ˜ธ์˜ ํ•ต์‹ฌ ๋ ˆ์Šจ:
"์Œ“์ž„ ๋งฅ๋ฝ์„ ํ•œ ๋งˆ๋””๋กœ ์š”์•ฝํ•˜๋ฉด: ๋ถ€๋ชจ์˜ z-index๊ฐ€ ์ž‘์œผ๋ฉด, ์ž์‹์ด ์•„๋ฌด๋ฆฌ ๋†’์•„๋„ ๊ฐ‡ํ˜€๋ฒ„๋ฆฐ๋‹ค๋Š” ๊ฒ๋‹ˆ๋‹ค. ์ฐจ์›์˜ ๋ฒฝ์€ ์ˆซ์ž๋กœ ๋ถ€์ˆ˜์ง€ ๋ชปํ•ด์š”."

[์ƒˆ๋กœ์šด ์ฐจ์›(๋นŒ๋Ÿฐ)์ด ํ˜•์„ฑ๋˜๋Š” ์กฐ๊ฑด]

  • position: absolute/relative์ด๋ฉด์„œ z-index๊ฐ€ auto๊ฐ€ ์•„๋‹ ๋•Œ
  • position: fixed/sticky์ผ ๋•Œ
  • opacity๊ฐ€ 1๋ณด๋‹ค ์ž‘์„ ๋•Œ (์˜์ฒ ์ด๊ฐ€ 0.9 ์คฌ๋˜ ๊ทธ ์†์„ฑ!)
  • transform, filter, perspective ๋“ฑ์˜ ์†์„ฑ์ด ๋ถ€์—ฌ๋์„ ๋•Œ

๐Ÿ—๏ธ ์ฐจ์›์˜ ๋ฒฝ: ์™œ z-index: 9999๊ฐ€ ์งˆ๊นŒ์š”?

๋ถ€๋ชจ A (z-index: 1)
์ž์‹ z-index:9999
(๊ฐ‡ํ˜€์žˆ์Œ!)
๋ถ€๋ชจ B (z-index: 2)

๋‚˜๋Š” 2์ธ๋ฐ 9999๋ฅผ ์ด๊น€!

โฌ†๏ธ ์ž์‹์ด z-index: 9999๋ผ๋„, ๋ถ€๋ชจ A(z-index: 1)๊ฐ€ ๋ถ€๋ชจ B(z-index: 2)๋ณด๋‹ค ๋‚ฎ์œผ๋ฏ€๋กœ ์ ˆ๋Œ€ ์œ„๋กœ ๋ชป ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค!

โš ๏ธ ํ•จ์ • ์ฃผ์˜: opacity๋งŒ ์ค˜๋„ ์ฐจ์›์ด ์ƒ๊น๋‹ˆ๋‹ค!

โŒ opacity: 0.99 โ†’ ์ƒˆ ์ฐจ์› ์ƒ์„ฑ!

opacity๊ฐ€ 1์ด ์•„๋‹Œ ๊ฐ’์ด๋ฉด ์ƒˆ ์Œ“์ž„ ๋งฅ๋ฝ์ด ์ƒ๊น๋‹ˆ๋‹ค. ์ž์‹ ์š”์†Œ์˜ z-index๊ฐ€ ๋ฌดํšจํ™”๋  ์ˆ˜ ์žˆ์–ด์š”!

โŒ transform: translateZ(0) โ†’ ์ƒˆ ์ฐจ์›!

GPU ๊ฐ€์†์šฉ์œผ๋กœ ๋งŽ์ด ์“ฐ๋Š” ์†์„ฑ์ธ๋ฐ, ์ด๊ฒƒ๋„ ์Œ“์ž„ ๋งฅ๋ฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. z-index ๋ฒ„๊ทธ์˜ ์ฃผ๋ฒ”!

๐Ÿ›ก๏ธ 3. 5๋…„์ฐจ์˜ ์ „๋žต: z-index ๊ด€๋ฆฌ๋ฒ•

  • ์ƒ์ˆ˜๋กœ ๊ด€๋ฆฌ: z-index: 10, z-index: 20 ์ฒ˜๋Ÿผ 10 ๋‹จ์œ„๋กœ ์‚ฌ์ด๋ฅผ ๋„์›Œ์„œ ์ •์˜ํ•˜๊ณ , CSS ๋ณ€์ˆ˜๋กœ ์ด๋ฆ„์„ ๋ถ™์ด์„ธ์š” (์˜ˆ: --z-modal: 100).
  • ๊ตฌ์กฐ์  ํ•ด๊ฒฐ: ๋ชจ๋‹ฌ ๊ฐ™์€ ์ตœ์ƒ์œ„ ์š”์†Œ๋Š” <body> ๋ฐ”๋กœ ์•„๋ž˜๋กœ ๋นผ๋‚ด์–ด(Portal ๊ธฐ๋ฒ•) ๋ถ€๋ชจ์˜ ์Œ“์ž„ ๋งฅ๋ฝ์— ๊ฐ‡ํžˆ์ง€ ์•Š๊ฒŒ ํ•˜์„ธ์š”.

๐Ÿ“ ๋งˆ๋ฌด๋ฆฌ ํ€ด์ฆˆ

Q1. ๋ถ€๋ชจ ์š”์†Œ๊ฐ€ position: relative์ด๊ณ , ์ž์‹ ์š”์†Œ๊ฐ€ top: 50%์ธ position: absolute๋ผ๋ฉด, ์ž์‹ ์š”์†Œ๋Š” ์–ด๋””์— ์œ„์น˜ํ•˜๊ฒŒ ๋ ๊นŒ์š”?

โœ… ์ •๋‹ต: ๋ถ€๋ชจ ์š”์†Œ์˜ ๋†’์ด์˜ 50% ์ง€์ (๋ฐ˜์œผ๋กœ ๋‚ด๋ ค๊ฐ„ ์œ„์น˜)์— ์ž์‹์˜ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ๊ฐ€ ์œ„์น˜ํ•œ๋‹ค.

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ ์„ค๋ช…: position: absolute์ธ ์š”์†Œ์˜ top: 50%๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜ ์ง€์ • ์กฐ์ƒ(static์ด ์•„๋‹Œ) ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ถ€๋ชจ๊ฐ€ relative์ด๋ฏ€๋กœ ๋ถ€๋ชจ๊ฐ€ ๊ทธ ๊ธฐ์ค€์ ์ด ๋˜๊ณ , ๋ถ€๋ชจ ๋†’์ด์˜ ์ ˆ๋ฐ˜ ์ง€์ ์— ์ž์‹์˜ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ(top edge) ๊ฐ€ ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ์ •ํ™•ํžˆ ๊ฐ€์šด๋ฐ ๋†“๊ณ  ์‹ถ๋‹ค๋ฉด top: 50%; transform: translateY(-50%)์„ ์กฐํ•ฉํ•ด์•ผ ํ•ด์š”. top: 50%๋งŒ์œผ๋กœ๋Š” ์š”์†Œ์˜ ์ƒ๋‹จ์ด ์ค‘๊ฐ„์— ๊ฐ€๋Š” ๊ฑฐ์ง€ ์š”์†Œ ์ž์ฒด๊ฐ€ ์ค‘์•™์€ ์•„๋‹ˆ์—์š”!"
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "top: 50%๋Š” ๋‚ด ๋จธ๋ฆฌ๊ฐ€ ๋ฐ˜์—, transform: translateY(-50%)๋ฅผ ๋”ํ•ด์•ผ ๋‚ด ๋ฐฐ๊ผฝ์ด ๋ฐ˜์—!"

Q2. ๋‹ค์Œ ์ค‘ ์ƒˆ๋กœ์šด '์Œ“์ž„ ๋งฅ๋ฝ(Stacking Context)'์„ ์ƒ์„ฑํ•˜์ง€ ์•Š๋Š” ์†์„ฑ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

  1. opacity: 0.9
  2. transform: scale(1.1)
  3. background-color: red
  4. position: fixed

โœ… ์ •๋‹ต: 3. background-color: red

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ ์„ค๋ช…: background-color๋Š” ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์ƒ‰์ƒ๋งŒ ๋ฐ”๊พธ๋Š” ์†์„ฑ์ด๋ผ ์Œ“์ž„ ๋งฅ๋ฝ์„ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด opacity < 1, transform, filter, position: fixed/sticky ๋“ฑ์€ ๋ชจ๋‘ ์ƒˆ๋กœ์šด ์ฐจ์›์„ ๋งŒ๋“ค์–ด์š”.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ํŠนํžˆ opacity: 0.99๋„ ์ƒˆ ์ฐจ์›์„ ๋งŒ๋“ ๋‹ค๋Š” ๊ฒŒ ํ•จ์ •์ด์—์š”. ๊ฑฐ์˜ ๋ถˆํˆฌ๋ช…์ธ๋ฐ๋„ ๊ทธ๋ƒฅ 1์ด ์•„๋‹ˆ๋ผ๋Š” ์ด์œ ๋งŒ์œผ๋กœ ์ฐจ์›์ด ์ƒ๊ธด๋‹ค๋‹ˆ!"
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "์ƒ‰๊น”๋งŒ ๋ฐ”๊พธ๋ฉด OK, ํˆฌ๋ช…๋„ยท๋ณ€ํ˜•ยท์œ„์น˜๋ฅผ ๊ฑด๋“œ๋ฆฌ๋ฉด ์ƒˆ ์ฐจ์›์ด ์—ด๋ฆฐ๋‹ค!"

Q3. [์˜์ฒ ์ด์˜ ํ…Œ์ŠคํŠธ ํƒ€์ž„: ์‹ค๋ฌด ๋”œ๋ ˆ๋งˆ]
์˜์ฒ ์ด๊ฐ€ ๋งŒ๋“  ํ—ค๋”(.header)๋Š” position: sticky; top: 0; z-index: 10;์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ณธ๋ฌธ ์˜์—ญ(.content)์— ๋“ค์–ด๊ฐ€๋Š” ์ด๋ฏธ์ง€์— transform: translateZ(0); (GPU ๊ฐ€์†์šฉ)์„ ์คฌ๋”๋‹ˆ, ์ด๋ฏธ์ง€๊ฐ€ ํ—ค๋” ์œ„๋กœ ํŠ€์–ด๋‚˜์™€ ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค! ํ—ค๋”์˜ z-index๋ฅผ 100์œผ๋กœ ์˜ฌ๋ ค๋„ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋„ค์š”. ์ด ํ˜„์ƒ์˜ ๊ทผ๋ณธ์ ์ธ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?

โœ… ์ •๋‹ต: transform ์†์„ฑ์ด ์ƒˆ๋กœ์šด ์Œ“์ž„ ๋งฅ๋ฝ์„ ์ƒ์„ฑํ•˜์—ฌ, ๊ธฐ์กด์˜ z-index ์ˆœ์„œ๊ฐ€ ํ•ด๋‹น ๋งฅ๋ฝ ์•ˆ์—์„œ ์žฌํ‰๊ฐ€๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ ์„ค๋ช…: transform์€ ๋‹จ์ˆœํžˆ ๋ชจ์–‘๋งŒ ๋ฐ”๊พธ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ์Œ“์ž„ ๋งฅ๋ฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€ ์š”์†Œ๊ฐ€ ํ—ค๋”์˜ ๋ ˆ์ด์–ด ์ˆœ์„œ๋ฅผ ๋›ฐ์–ด๋„˜์–ด ๋ฒ„๋ฆฐ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ์ˆซ์ž๋ฅผ ํ‚ค์šฐ๋Š” ๊ฑด ๋‹ต์ด ์•„๋‹ˆ์—์š”. ์ด๋ฏธ์ง€๊ฐ€ ์†ํ•œ ๋ถ€๋ชจ ์š”์†Œ์˜ z-index๋ฅผ ์กฐ์ ˆํ•˜๊ฑฐ๋‚˜, ํ—ค๋”์˜ z-index๊ฐ€ ๋ฌด์กฐ๊ฑด ์ด๊ธธ ์ˆ˜ ์žˆ๋Š” ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋งฅ๋ฝ์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค."
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "z-index๊ฐ€ ์•ˆ ๋˜๋ฉด ์ฐจ์›(Stacking Context)์˜ ๋ฌธ์„ ์—ด์–ด๋ด๋ผ!"

๐Ÿฃ ์˜์ฒ ์ด์˜ ํ‡ด๊ทผ ์ผ๊ธฐ

์˜ค๋Š˜ z-index์˜ ์ •์ฒด๋ฅผ ์•Œ๊ณ  ๋‚˜๋‹ˆ ๊ทธ๋™์•ˆ ๋‚ด ์ฝ”๋“œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋ฌด์‹ํ–ˆ๋Š”์ง€ ์•Œ ๊ฒƒ ๊ฐ™๋‹ค.
99999๋ฅผ ์น˜๋ฉด์„œ๋„ "์ œ๋ฐœ ์ด๊ฒจ๋ผ"๋ผ๊ณ  ๋นŒ๊ธฐ๋งŒ ํ–ˆ๋Š”๋ฐ, ๊ทธ๊ฒŒ ์ฐจ์› ๋ฌธ์ œ์˜€๋‹ค๋‹ˆ!
ํŠนํžˆ opacity๋‚˜ transform๋งŒ ์ค˜๋„ ์ƒˆ๋กœ์šด ์ฐจ์›์ด ์ƒ๊ธด๋‹ค๋Š” ์‚ฌ์‹ค์€ ์ •๋ง ์ถฉ๊ฒฉ์ ์ด์—ˆ๋‹ค.

๐Ÿ’ก "z-index๋Š” ๊ณ ๋„๊ฐ€ ์•„๋‹ˆ๋ผ ๊ณ„๊ธ‰์ด๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ๊ณ„๊ธ‰๋„ ์ž๊ธฐ๊ฐ€ ์†ํ•œ ๊ตญ๊ฐ€(Stacking Context)๋ฅผ ๋ฒ—์–ด๋‚  ์ˆœ ์—†๋‹ค."

์˜ํ˜ธ ๋‹˜์ด "๋ชจ๋‹ฌ์€ ์›ฌ๋งŒํ•˜๋ฉด ์ตœ์ƒ์œ„๋กœ ๋นผ๋ผ"๊ณ  ํ•˜์‹  ๊ฒŒ ๋‹ค ์ด๋Ÿฐ ๋ณต์žกํ•œ ์‹ธ์›€์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ์˜€๊ตฌ๋‚˜.
์ง‘์— ๊ฐ€์„œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ๋Œ€๋กœ ํ”„๋กœ์ ํŠธ์˜ z-index ๋ณ€์ˆ˜๋“ค์„ ์‹น ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค.
๋‚ด์ผ์€ '๋ฐ˜์‘ํ˜• ๋””์ž์ธ'์˜ ์ตœ์‹  ํŠธ๋ Œ๋“œ๋ฅผ ๋ฐฐ์šด๋‹ค๋Š”๋ฐ, ์ด์ œ CSS์˜ ๋์ด ๋ณด์ด๋Š” ๊ฒƒ ๊ฐ™์•„ ๋ฟŒ๋“ฏํ•˜๋‹ค! ๐Ÿ”


๐Ÿ”— ๋” ์•Œ์•„๋ณด๊ธฐ