๐Ÿ“ 07. CSS Grid: '2์ฐจ์› ๋ ˆ์ด์•„์›ƒ์˜ ์„ค๊ณ„์ž'

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

๐Ÿ“‹ ๊ฐœ์š”

Flexbox๊ฐ€ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ณต์žกํ•œ ๋งค๊ฑฐ์ง„ ์Šคํƒ€์ผ ๋ ˆ์ด์•„์›ƒ์„ ๋‹จ ๋ช‡ ์ค„๋กœ ์„ค๊ณ„ํ•˜๋Š” CSS Grid์˜ ๊ฐ•๋ ฅํ•œ ํž˜์„ ์˜์ฒ ์ด์™€ ํ•จ๊ป˜ ๊ฒฝํ—˜ํ•ด ๋ด…๋‹ˆ๋‹ค.

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

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

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ํ๋ฆ„
[ํ–‰๊ณผ ์—ด์˜ ์ •์˜] โ†’ [grid-template-areas์˜ ์‹œ๊ฐํ™”] โ†’ [fr ๋‹จ์œ„์™€ ๋ฐ˜์‘ํ˜• auto-fit]

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

  • ํŽ˜์ด์ง€ ์ „์ฒด์˜ ๊ณจ๊ฒฉ(๋Œ€์‹œ๋ณด๋“œ, ๋‰ด์Šค ๋ ˆ์ด์•„์›ƒ ๋“ฑ)์„ Grid๋กœ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.
  • grid-template-areas๋ฅผ ์‚ฌ์šฉํ•ด ์ฝ”๋“œ๋งŒ ๋ณด๊ณ ๋„ ๋ ˆ์ด์•„์›ƒ์„ ๋จธ๋ฆฟ์†์— ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.
  • ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์—†์ด๋„ ํ™”๋ฉด ํญ์— ๋”ฐ๋ผ ์•„์ดํ…œ ๊ฐœ์ˆ˜๊ฐ€ ๋ณ€ํ•˜๋Š” ๋งˆ๋ฒ•์„ ๋ถ€๋ฆฝ๋‹ˆ๋‹ค.

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

  • ๐Ÿฃ ์˜์ฒ  ( ์‹ ์ž… ): "์˜ํ˜ธ ๋‹˜! ์ด๋ฒˆ ์‚ฌ์ดํŠธ ๋ฉ”์ธ ํŽ˜์ด์ง€๊ฐ€ ๊ฑฐ์˜ ์žก์ง€์ฒ˜๋Ÿผ ๋ณต์žกํ•ด์š”. ํ—ค๋” ๋ฐ‘์— ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”, ์ค‘๊ฐ„ ๋ณธ๋ฌธ, ์˜ค๋ฅธ์ชฝ ๊ด‘๊ณ ... ์ด๊ฑฐ ๋‹ค Flexbox๋กœ ์ค‘์ฒฉํ•ด์„œ ๋งŒ๋“ค๋ ค๋‹ˆ๊นŒ ์ฝ”๋“œ๊ฐ€ ์ŠคํŒŒ๊ฒŒํ‹ฐ์ฒ˜๋Ÿผ ๊ผฌ์ด๊ณ  ์žˆ์–ด์š”! ๐Ÿ"
  • ๐Ÿฆ ์˜ํ˜ธ ( ๋ฆฌ๋“œ ): "์˜์ฒ  ๋‹˜, Flexbox๋Š” 'ํ•œ ์ค„์”ฉ' ์ •๋ ฌํ•˜๋Š” ๋ฐ๋Š” ์ตœ๊ณ ์ง€๋งŒ, ์ด๋Ÿฐ '๋ฉด(2์ฐจ์›)' ์ „์ฒด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์ฃ . ์ด์ œ ํŒ์„ ์งœ๋Š” ์„ค๊ณ„์ž, CSS Grid๊ฐ€ ๋“ฑํŒํ•  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค."

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

Flexbox๊ฐ€ '์ •๋ ฌ' ์„ ์œ„ํ•œ ๊ฒƒ์ด๋ผ๋ฉด, Grid๋Š” '๊ตฌ์กฐ' ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ด๋ฉด์„œ ๋ณด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ณต์žกํ•œ ์›น ์„œ๋น„์Šค(๋„ค์ด๋ฒ„, ์œ ํŠœ๋ธŒ, ๋Œ€์‹œ๋ณด๋“œ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋“ฑ)๋Š” Grid๋ฅผ ํ†ตํ•ด ๊ทธ ๋ผˆ๋Œ€๋ฅผ ์žก์Šต๋‹ˆ๋‹ค.

์‹ ์ž… ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ€์žฅ ์–ด๋ ค์›Œํ•˜๋Š” ๊ฒƒ์ด "์ด ๋ ˆ์ด์•„์›ƒ์„ ์œ„ํ•ด div๋ฅผ ์–ผ๋งˆ๋‚˜ ๋” ๊ฐ์‹ธ์•ผ ํ•˜์ง€?"๋ผ๋Š” ๊ณ ๋ฏผ์ž…๋‹ˆ๋‹ค. Grid๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ ๋ž˜ํผ(Wrapper) ํƒœ๊ทธ ์—†์ด๋„ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์˜์—ญ์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 5๋…„์ฐจ ์ด์ƒ์˜ ์‹œ๋‹ˆ์–ด๋Š” Grid๋ฅผ ํ†ตํ•ด HTML ๊ตฌ์กฐ๋Š” ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ํ™”๋ คํ•œ ๋ฐฐ์น˜๋ฅผ ์ž์œ ์ž์žฌ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ—๏ธ 1. ํŒ ์งœ๊ธฐ: Container์™€ Track

Grid๋Š” ๋ถ€๋ชจ(Container)์—์„œ ํ–‰(Rows)๊ณผ ์—ด(Columns)์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•˜๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

.container {
  display: grid;
  grid-template-columns: 200px 1fr 1fr; /* 200px ๊ณ ์ •, ๋‚˜๋จธ์ง€๋Š” 1:1 ๋น„์œจ */
  grid-template-rows: auto 1fr auto;   /* Header, Body, Footer */
  gap: 15px;
}
  • fr (Fraction): '๋ถ„์ˆ˜'๋ผ๋Š” ๋œป์œผ๋กœ, ๋‚จ๋Š” ๊ณต๊ฐ„์„ ๋น„์œจ๋กœ ๋‚˜๋ˆ  ๊ฐ–๋Š” Grid ์ „์šฉ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. (Flex-grow์™€ ๋น„์Šทํ•˜์ฃ !)

๐Ÿ“ fr ๋‹จ์œ„์˜ ๊ณต๊ฐ„ ๋ฐฐ๋ถ„ (grid-template-columns: 200px 1fr 1fr)

200px (๊ณ ์ •)
1fr
1fr

* ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ํฌ๊ธฐ๋ฅผ ๋ฐ”๊ฟ”๋ณด๋ฉด 200px ์—ด์€ ๊ณ ์ •, ๋‚˜๋จธ์ง€ 1fr ์—ด๋“ค์ด ๋‚จ์€ ๊ณต๊ฐ„์„ 1:1๋กœ ๋‚˜๋ˆ  ๊ฐ–์Šต๋‹ˆ๋‹ค.


๐ŸŽจ 2. ๋งˆ๋ฒ•์˜ ์ฃผ๋ฌธ: grid-template-areas

์ด ์†์„ฑ์€ CSS Grid์˜ ๊ฝƒ์ž…๋‹ˆ๋‹ค. ๋ ˆ์ด์•„์›ƒ์„ ํ…์ŠคํŠธ๋กœ **'๊ทธ๋ฆผ'**์„ ๊ทธ๋ฆฌ๋“ฏ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

/* ๐Ÿฆ ์˜ํ˜ธ: ์ด๋ ‡๊ฒŒ ์“ฐ๋ฉด ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‚˜์ค‘์— ๋ด๋„ ๋ฐ”๋กœ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. */
.layout {
  display: grid;
  grid-template-areas:
    "header header header"
    "nav    main   aside"
    "footer footer footer";
}
 
.header { grid-area: header; }
.main   { grid-area: main; }
/* ... ๋‚˜๋จธ์ง€ ์—ฐ๊ฒฐ */

๐Ÿฃ ์˜์ฒ : "์™€... ์ด๊ฑฐ ์ง„์งœ ๋Œ€๋ฐ•์ธ๋ฐ์š”? ์ฝ”๋“œ๊ฐ€ ๊ทธ๋ƒฅ ๋„๋ฉด ๊ทธ ์ž์ฒด์˜ˆ์š”!"

๐ŸŽจ grid-template-areas: ์ฝ”๋“œ๊ฐ€ ๊ณง ๋„๋ฉด

Header
Nav
Main Content
Aside
Footer

๐Ÿ“ฑ 3. ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์—†๋Š” ๋ฐ˜์‘ํ˜•: auto-fit & minmax

Grid์˜ ์ง„์งœ ๊ฐ•๋ ฅํ•œ ์ ์€ ํ™”๋ฉด ํญ์— ๋”ฐ๋ผ ์•„์ดํ…œ ๊ฐœ์ˆ˜๋ฅผ ์•Œ์•„์„œ ์กฐ์ ˆํ•˜๋Š” ์ง€๋Šฅ์ž…๋‹ˆ๋‹ค.

/* ๐Ÿฆ ์˜์„œ ๋ฆฌ๋“œ: ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ 10์ค„ ์งค ๊ฑฐ ํ•œ ์ค„๋กœ ๋๋‚ด๋Š” ๋น„๊ธฐ์ž…๋‹ˆ๋‹ค. */
.item-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
  • ์˜๋ฏธ: "์ตœ์†Œ 250px์€ ๋ณด์žฅํ•˜๋˜, ์ž๋ฆฌ ๋‚จ์œผ๋ฉด ๋˜‘๊ฐ™์ด ๋‚˜๋ˆ  ๊ฐ€์ ธ. ์ž๋ฆฌ ๋ถ€์กฑํ•˜๋ฉด ์•Œ์•„์„œ ๋‹ค์Œ ์ค„๋กœ ๋‚ด๋ ค๊ฐ€!"

๐Ÿ“ฑ auto-fit + minmax: ์•Œ์•„์„œ ์ค„ ๋ฐ”๊ฟˆ!

Card 1
Card 2
Card 3
Card 4
Card 5

* ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์นด๋“œ ๊ฐœ์ˆ˜๊ฐ€ ์ž๋™ ์กฐ์ ˆ๋ฉ๋‹ˆ๋‹ค. ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์—†์ด!


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

Q1. grid-template-columns: 1fr 2fr; ์„ค์ • ์‹œ, ์ „์ฒด ๋„ˆ๋น„๊ฐ€ 300px์ด๋ผ๋ฉด ์ฒซ ๋ฒˆ์งธ ์—ด์˜ ์‹ค์ œ ๋„ˆ๋น„๋Š” ์–ผ๋งˆ์ผ๊นŒ์š”?

โœ… ์ •๋‹ต: 100px

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

  • ์›๋ฆฌ ์„ค๋ช…: fr์€ ๋‚จ์€ ๊ณต๊ฐ„์„ ๋น„์œจ๋กœ ๋‚˜๋ˆ„๋Š” ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. 1fr 2fr์€ ์ „์ฒด๋ฅผ 1:2 ๋น„์œจ๋กœ ์ชผ๊ฐ ๋‹ค๋Š” ๋œป์ด์—์š”. 300px รท (1+2) = 100px์ด 1fr์˜ ๋ชซ์ด๋ฏ€๋กœ, ์ฒซ ๋ฒˆ์งธ ์—ด์€ 1 ร— 100 = 100px, ๋‘ ๋ฒˆ์งธ ์—ด์€ 2 ร— 100 = 200px์ด ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, fr์€ 'fraction(๋ถ„์ˆ˜)'์˜ ์•ฝ์ž์˜ˆ์š”. px์ฒ˜๋Ÿผ ๊ณ ์ •๋œ ๊ฐ’์ด ์•„๋‹ˆ๋ผ ํ˜•์ œ๋“ค๊ณผ ๋‚˜๋ˆ  ๊ฐ–๋Š” ๋น„์œจ์ด๋ผ๋Š” ๊ฑธ ๊ธฐ์–ตํ•˜์„ธ์š”!"
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "fr = ํ”ผ์ž ์กฐ๊ฐ ์ˆ˜. 1fr 2fr์ด๋ฉด ์ด 3์กฐ๊ฐ, ๋‚ด ๋ชซ์€ 1์กฐ๊ฐ!"

Q2. grid-template-areas์—์„œ ํŠน์ • ์นธ์„ ๋นˆ ๊ณต๊ฐ„์œผ๋กœ ๋‘๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐํ˜ธ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

  1. #
  2. . (๋งˆ์นจํ‘œ)
  3. _
  4. null

โœ… ์ •๋‹ต: 2. . (๋งˆ์นจํ‘œ)

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

  • ์›๋ฆฌ ์„ค๋ช…: grid-template-areas์—์„œ .(๋งˆ์นจํ‘œ)์€ "์ด ์นธ์€ ๋น„์›Œ๋‘ฌ"๋ผ๋Š” ์˜ˆ์•ฝ ๊ธฐํ˜ธ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์—ฐ์†์œผ๋กœ ์“ฐ๋ฉด(.. ..) ๋นˆ ์นธ์ด ์—ฌ๋Ÿฌ ๊ฐœ ์ด์–ด์ง€๋Š” ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜๋„ ์žˆ์–ด์š”.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, #์ด๋‚˜ _, null์€ Grid์—์„œ ํŠน๋ณ„ํ•œ ์˜๋ฏธ๊ฐ€ ์—†์–ด์š”. ์˜ค์ง .๋งŒ์ด '๋นˆ ์˜์—ญ'์„ ๋œปํ•˜๋Š” ๊ณต์‹ ๊ธฐํ˜ธ์ž…๋‹ˆ๋‹ค!"
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "์„ค๊ณ„ ๋„๋ฉด์— ๋งˆ์นจํ‘œ(.)๋ฅผ ์ฐ์œผ๋ฉด, ๊ทธ ์ž๋ฆฌ๋Š” '๊ณตํ„ฐ'๊ฐ€ ๋œ๋‹ค!"

Q3. [์˜์ฒ ์ด์˜ ํ…Œ์ŠคํŠธ ํƒ€์ž„: ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„]
์˜์ˆ™ ๋””์ž์ด๋„ˆ ๋‹˜์ด "๋ชจ๋ฐ”์ผ์—์„œ๋Š” ํ—ค๋”-์‚ฌ์ด๋“œ๋ฐ”-๋ณธ๋ฌธ ์ˆœ์„œ๋กœ ๋‚˜์˜ค๋Š”๋ฐ, ๋ฐ์Šคํฌํ†ฑ์—์„œ๋Š” ํ—ค๋”-๋ณธ๋ฌธ-์‚ฌ์ด๋“œ๋ฐ” ์ˆœ์„œ๋กœ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ฃผ์„ธ์š”!"๋ผ๊ณ  ํ•˜์‹ญ๋‹ˆ๋‹ค. HTML ๊ตฌ์กฐ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ์˜ค์ง CSS Grid๋งŒ์œผ๋กœ ์ด ๋ฐฐ์น˜๋ฅผ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ์š”?

โœ… ์ •๋‹ต: ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์•ˆ์—์„œ grid-template-areas์˜ ๊ตฌ์กฐ๋งŒ ์ƒˆ๋กœ ์ •์˜ํ•œ๋‹ค.

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

  • ์›๋ฆฌ ์„ค๋ช…: Grid๋Š” HTML ์ƒ์˜ ์ˆœ์„œ์™€ ๊ด€๊ณ„์—†์ด grid-area๋กœ ์ •์˜๋œ ์˜์—ญ์˜ ์œ„์น˜๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ์žฌ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ DOM์„ ๊ฐˆ์•„๋ผ์šฐ๊ฑฐ๋‚˜ order๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ์“ฐ๋Š” ๊ฑด ํ•˜์ฑ…์ž…๋‹ˆ๋‹ค. Grid Areas๋ผ๋Š” ๋„๋ฉด์„ ์ƒˆ๋กœ ๊ทธ๋ฆฌ๋Š” ๊ฒŒ ์ •์„์ด์—์š”."
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "๋„๋ฉด(Areas)๋งŒ ๋ฐ”๊พธ๋ฉด ์ด์‚ฌ ๋!"

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

์˜ค๋Š˜ CSS Grid๋ฅผ ๋ฐฐ์šฐ๊ณ  ๋‚˜๋‹ˆ, ๊ทธ๋™์•ˆ Flexbox๋กœ ์•„๋“ฑ๋ฐ”๋“ฑํ–ˆ๋˜ ๊ฒŒ ๋งˆ์น˜ ํฌํฌ๋กœ ๊ตญ์„ ๋จน์œผ๋ ค ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
grid-template-areas๋Š” ์ •๋ง ์ถฉ๊ฒฉ์ ์ด์—ˆ๋‹ค. CSS ์ฝ”๋“œ ์•ˆ์— ๋ ˆ์ด์•„์›ƒ ๋ชจ์–‘์ด ๊ทธ๋Œ€๋กœ ์žˆ๋‹ค๋‹ˆ!

๐Ÿ’ก "Grid๋Š” ๋‹จ์ˆœํ•œ ๋ฐฐ์น˜๊ฐ€ ์•„๋‹ˆ๋ผ ์˜์—ญ์˜ ๋ฒ•์ ์ธ ๊ฒฝ๊ณ„๋ฅผ ๊ธ‹๋Š” ๊ฑด์ถ•์ด๋‹ค. ์™„๋ฒฝํ•œ ๊ณจ๊ฒฉ์ด ์™„๋ฒฝํ•œ UX๋ฅผ ๋งŒ๋“ ๋‹ค."

ํŠนํžˆ repeat(auto-fit, ...) ์ด๊ฑธ ๋ณด๋ฉด์„œ "์™€, ์ด๊ฑฐ๋ฉด ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ฐ˜์€ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒ ๋Š”๋ฐ?" ์‹ถ์—ˆ๋‹ค.
์˜์ˆ˜ ๋‹˜์ด ์ฃผ์‹  ๋ณต์žกํ•œ ๊ด€๋ฆฌ์ž ๋Œ€์‹œ๋ณด๋“œ ์‹œ์•ˆ, ์˜ˆ์ „ ๊ฐ™์œผ๋ฉด ํ•œ์ˆจ๋ถ€ํ„ฐ ๋‚˜์™”๊ฒ ์ง€๋งŒ ์ด์   Grid ๋„๋ฉด๋ถ€ํ„ฐ ๊ทธ๋ ค๋ณด๊ณ  ์‹ถ๋‹ค.
๋‚ด์ผ์€ ์š”์†Œ๋“ค์˜ '๊ณ„๊ธ‰ ์‚ฌํšŒ'์ธ z-index๋ž‘ Stacking Context๋ฅผ ๋ฐฐ์šด๋‹ค๋Š”๋ฐ, ๋ฒŒ์จ ๋จธ๋ฆฌ๊ฐ€ ์ง€๋ˆ๊ฑฐ๋ฆฌ์ง€๋งŒ ์˜ํ˜ธ ๋‹˜์ด ๊ณ„์‹œ๋‹ˆ๊นŒ ๋“ ๋“ ํ•˜๋‹ค! ๐Ÿ“


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