z-index

primavยท2024๋…„ 8์›” 14์ผ

CSS

๋ชฉ๋ก ๋ณด๊ธฐ
5/12
post-thumbnail

z-index

๋ณต์žกํ•œ ์›นํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๋งˆ์น˜ 3์ฐจ์› ๊ณต๊ฐ„์ฒ˜๋Ÿผ ์š”์†Œ๋ฅผ ์•ž๋’ค๋กœ ๊ฒน์ณ์„œ ๋ฐฐ์น˜ํ•ด์•ผ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ ์ด ๋•Œ ์ด์šฉํ•˜๋Š” ์†์„ฑ์ด๋‹ค.

z-index ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ์ ์ธ ๊ทœ์น™์„ ๋ฌด์‹œํ•˜๊ณ  HTML ๋ฌธ์„œ ์ƒ์—์„œ ๋จผ์ € ๋‚˜์˜จ ์š”์†Œ๋ฅผ ๋‚˜์ค‘์— ๋‚˜์˜จ ์š”์†Œ๋ณด๋‹ค ์•ž์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—๏ธz-index ์†์„ฑ์„ ๋„ˆ๋ฌด ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉด ์ƒ๋Œ€์  ๊นŠ์ด๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์›Œ์ง€๋ฏ€๋กœ ์Šคํƒ€์ผ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํž˜๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ก ์กฐ๊ฑด
position์ด static์ด ์•„๋‹Œ ๊ฐ’์ผ ๋•Œ
flex-itmes์—๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ (position์ด ์—†์–ด๋„)

โ—๏ธ ๋ถ€๋ชจ ์š”์†Œ ์•ˆ์—์„œ ํ˜•์ œ ์š”์†Œ๋“ค๋ผ๋ฆฌ์˜ ์ˆœ์„œ๋ฅผ ์ง€์ •ํ•  ๋–„ ์‚ฌ์šฉ

โœ”๏ธ before

.circle.blue{
	background-color: blue;
    position: relative;
    
}

.circle.orange{
	background-color: orange;
    position: relative;
}

๋‘˜ ๋‹ค position: relative ์ด๋ฏ€๋กœ ๋” ๋ฐ‘์— ์ ํžŒ ์˜ค๋ Œ์ง€๊ฐ€ ํŒŒ๋ž‘์„ ๋ฎ๋Š”๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํŒŒ๋ž‘์„ ๋” ์œ„๋กœ ์˜ฌ๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?
์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด z-index ์†์„ฑ์ด๋‹ค.

โœ”๏ธ after

.circle.blue{
	background-color: blue;
    position: relative;
    z-index: 2;
}

.circle.orange{
	background-color: orange;
    position: relative;
}

z-index๊ฐ€ ๋†’์€ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๊ฒƒ์ด ์œ„๋กœ ์˜จ๋‹ค.

์ƒ๋Œ€์  ๊นŠ์ด

๐Ÿ’ก z-index ๊ฐ€ ์—†์„ ๋•Œ

  • position: static์ด ์•„๋‹Œ ์š”์†Œ - ๋ฌด์กฐ๊ฑด position ์†์„ฑ์ด static์ธ ์š”์†Œ ์œ„๋กœ ์˜ฌ๋ผ์˜จ๋‹ค.
  • position: static์ธ ์š”์†Œ ๋ผ๋ฆฌ - HTML ๋ฌธ์„œ ์ƒ์—์„œ ๋‚˜์ค‘์— ๋‚˜์˜ค๋Š” ์š”์†Œ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” ์›์†Œ ์œ„๋กœ ์˜ฌ๋ผ์˜จ๋‹ค.
  • position: static์ด ์•„๋‹Œ ์š”์†Œ ๋ผ๋ฆฌ - HTML ๋ฌธ์„œ ์ƒ์—์„œ ๋‚˜์ค‘์— ๋‚˜์˜ค๋Š” ์š”์†Œ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” ์›์†Œ ์œ„๋กœ ์˜ฌ๋ผ์˜จ๋‹ค.

๐Ÿ’ก z-index ๊ฐ€ ์žˆ์„ ๋•Œ

โ—๏ธ position ์†์„ฑ์ด static์ด ์•„๋‹Œ ์š”์†Œ์˜ ๊นŠ์ด๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Œ

  • position: static์ธ ์š”์†Œ - z-index: auto
  • z-index > 0 ์š”์†Œ - position: static ์š”์†Œ๋ณด๋‹ค ์•ž์œผ๋กœ ์˜ฌ๋ผ์˜จ๋‹ค.
  • z-index < 0 ์š”์†Œ - position: static ์š”์†Œ๋ณด๋‹ค ๋’ค๋กœ ๋‚ด๋ ค๊ฐ„๋‹ค.
  • position: static์ด ์•„๋‹Œ ์š”์†Œ ๋ผ๋ฆฌ - z-index ์†์„ฑ๊ฐ’์ด ํด ์ˆ˜๋ก ์•ž์œผ๋กœ ์˜ฌ๋ผ์˜ค๊ณ , ์ž‘์œผ๋ฉด ์ž‘์„์ˆ˜๋ก ๋’ค๋กœ ๋‚ด๋ ค๊ฐ‘๋‹ˆ๋‹ค. (์˜ˆ: z-index: 1์ธ ์š”์†Œ๋ณด๋‹ค z-index: 2์ธ ์š”์†Œ๊ฐ€ ๋” ์•ž์— ๋‚˜์˜ค๊ณ  z-index: -1์ธ ์š”์†Œ๋ณด๋‹ค z-index: -2์ธ ์š”์†Œ๊ฐ€ ๋” ๋’ค๋กœ ๋“ค์–ด๊ฐ)

z-index: -1

๐Ÿ’ก ์Šคํƒœํ‚น ์ปจํ…์ŠคํŠธ
z-index๊ฐ€ ์ž‘๋™๋˜๋Š” ๊ธฐ์ค€์ 

โ—๏ธ ์Šคํƒœํ‚น ์ปจํ…์ŠคํŠธ๊ฐ€ ์ง€์ •์ด ์•ˆ๋˜์–ด์žˆ์œผ๋ฉด --> ์ตœ ์ƒ์œ„ ์š”์†Œ : HTML
โžก๏ธ HTML์ƒ์—์„œ ๊ผด์ฐŒ

== position:absolute ์™€ ์ปจํ…Œ์ด๋‹ ๋ธ”๋ก๊ณผ์˜ ๊ด€๊ณ„์™€ ๋น„์Šทํ•จ!

โ—๏ธ๋ถ€๋ชจ์—๊ฒŒ ์Šคํƒœํ‚น ์ปจํ…์ŠคํŠธ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€๊ฐ€ ์ค‘์š”!

โŒ ๋ฌด์กฐ๊ฑด ์ˆซ์ž๊ฐ€ ํฌ๋‹ค๊ณ  ์ „์ฒด ํŽ˜์ด์ง€์˜ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

โญ•๏ธ๋ถ€๋ชจ์— ์Šคํƒœํ‚น ์ปจํ…์ŠคํŠธ๊ฐ€ ์žˆ๋Š” ์ง€๋ฅผ ํŒŒ์•…ํ•˜๊ณ ์šฐ๋ฌผ์•ˆ์˜ ๊ฐœ๊ตฌ๋ฆฌ์ธ์ง€ ๊ธ€๋กœ๋ฒŒ 1์œ„์ธ์ง€ ํŒŒ์•…ํ•˜๊ธฐ

[___]๋กœ ๊ฐ์‹ธ์ ธ์žˆ๋Š” ๊ฒƒ์ด ์Šคํƒœํ‚น ์ปจํ…์ŠคํŠธ(div)์ด๋‹ค.

  1. ๋ฃจํŠธ์—๋งŒ ์Šคํƒœํ‚น ์ปจํ…์ŠคํŠธ๊ฐ€ ์žˆ์„ ๋•Œ

    ๋‹น์—ฐํžˆ z-index: 9999๊ฐ€ z-index: 1๋ณด๋‹ค ์œ„์— ์žˆ๋‹ค.
    โžก๏ธ z-index: 9999 - ๊ธ€๋กœ๋ฒŒ(root) 1์œ„
  1. ํŒŒ๋ž€์ƒ‰์˜ ์Šคํƒœํ‚น ์ปจํ…์ŠคํŠธ๊ฐ€ ์žˆ์„ ๋•Œ

    z-indx:9999๋ผ๋Š” ์• ๋Š” z-index:0๋ผ๋Š” ์Šคํƒœํ‚น ์ปจํ…์ŠคํŠธ ์•ˆ์—์„œ๋งŒ ์งฑ์ด๋‹ค.
    z-indx:9999์˜ ๋ถ€๋ชจ์ธ z-index:0๋Š” ๋ถ€๋ชจ์˜ ํ˜•์ œ์š”์†Œ์ธ z-index: 1๋ณด๋‹ค ์ž‘์€ ์ˆซ์ž์ด๋ฏ€๋กœ z-index: 9999๊ฐ€ z-index: 1๋ณด๋‹ค ์•„๋ž˜์— ์žˆ๋‹ค.
    โžก๏ธ z-index: 9999 - ๋™๋„ค(z-index:0) 1์œ„
    โžก๏ธ z-index: 9999 - ๊ธ€๋กœ๋ฒŒ(root)์—์„œ๋Š” z-index:1์—๊ฒŒ ๋ฐ€๋ฆฐ๋‹ค.

๋ถ€๋ชจ ์š”์†Œ์— z-index:0 (auto๊ฐ€ ์•„๋‹Œ ๊ฐ’)์— ์˜ํ•ด ์ž์‹ ์š”์†Œ๋ฅผ ์ง€์—ญ์ ์œผ๋กœ ๋งŒ๋“ ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€