Client/CSS

[CSS] z-index (μš”μ†Œμ˜ μŒ“μž„ μˆœμ„œ 지정)

meeeeejin 2020. 6. 12. 17:59

z-indexκ°€ μ—†λŠ” 경우 μŒ“μž„ μˆœμ„œ

CSS의 z-index 속성을 μ§€μ •ν•˜μ§€ μ•Šμ•˜μ„ λ•Œ, 기본적인 μŒ“μž„ μˆœμ„œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. 

 

  1. λΆ€λͺ¨ μš”μ†Œμ˜ λ°°κ²½κ³Ό ν…Œλ‘λ¦¬

  2. μžμ‹ μš”μ†Œλ“€ (HTML μ½”λ“œ λ“±μž₯ μˆœμ„œλŒ€λ‘œ)

  3. position이 μ§€μ •λœ μžμ‹ μš”μ†Œλ“€ (HTML μ½”λ“œ λ“±μž₯ μˆœμ„œλŒ€λ‘œ)

 

1 -> 2 -> 3 μˆœμ„œλŒ€λ‘œ μ•„λž˜μͺ½ -> μœ„μͺ½μœΌλ‘œ μŒ“μ—¬μ„œ μ›ΉνŽ˜μ΄μ§€μ— λ‚˜νƒ€λ‚©λ‹ˆλ‹€. 

 

 

 

1
2
3
4
5
6
7
<div class="parent">
  div1: parent
  <div class="child">div2: child</div>
  <div class="positioned-child">div3: positioned-child</div>
  <div class="child">div4: child</div>
  <div class="positioned-child">div5: positioned-child</div>
</div>
cs

 

μœ„μ™€ 같은 μ½”λ“œλ₯Ό μ‹€ν–‰μ‹œν‚€λ©΄ 화면에 λ‚˜νƒ€λ‚˜λŠ” μˆœμ„œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. 

 

div1 -> div2, div4 -> div3 -> div5 μˆœμ„œλŒ€λ‘œ 화면에 λ‚˜νƒ€λ‚˜κ²Œ λ©λ‹ˆλ‹€. 

div3κ°€ div4보닀 HTML μ½”λ“œμƒ λ¨Όμ € λ“±μž₯ν–ˆμ§€λ§Œ, position이 μ§€μ •λœ μžμ‹μ΄ 더 늦게 λ Œλ”λ§ 되기 λ•Œλ¬Έμ— 더 μœ„μ— μŒ“μ΄κ²Œ λ©λ‹ˆλ‹€. 

 

 

μš”μ†Œμ— z-index 속성을 μ§€μ •ν•˜λ©΄ 이와 같은 κΈ°λ³Έ μŒ“μž„ μˆœμ„œλ₯Ό λ°”κΏ€ 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

 

z-index 적용

κΈ°λ³Έ 흐름을 λ²—μ–΄λ‚˜ λ‹€λ₯Έ μŒ“μž„ μˆœμ„œλ₯Ό μ§€μ •ν•˜κ³  싢을 λ•Œ μš”μ†Œμ— z-index 속성을 μ§€μ •ν•©λ‹ˆλ‹€. 

μ΄λ•Œ μ£Όμ˜ν•΄μ•Όν•  점은 z-index 속성을 μ§€μ •ν•˜κ³ μž ν•˜λŠ” μš”μ†Œμ—λŠ” λ°˜λ“œμ‹œ position도 지정해주어야 ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 

position이 static인 μš”μ†ŒλŠ” z-index 속성을 좔가해도 μ μš©μ΄λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€

 

z-indexλ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ•˜μ„ λ•Œμ˜ κΈ°λ³Έ 속성값은 0μž…λ‹ˆλ‹€.

z-index값은 μ •μˆ˜λ‘œ 지정할 수 μžˆλŠ”λ°, 값이 클수둝 μœ„μͺ½μ— λ Œλ”λ§ λ˜μ–΄ μ‚¬μš©μžλ‘œλΆ€ν„° κ°€κΉŒμ›Œμ§€κ³  값이 μž‘μ„μˆ˜λ‘ μ•„λž˜μͺ½μ— λ Œλ”λ§ λ˜μ–΄ μ‚¬μš©μžλ‘œλΆ€ν„° λ©€μ–΄μ§‘λ‹ˆλ‹€. 

 

div1의 z-indexκ°€ 2이고, div2의 z-indexκ°€ -3이라면 div1이 div2 μœ„μ— λ Œλ”λ§ λ˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 

 

 

<z-index μ‚¬μš©μ˜ˆμ‹œ>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.div1 {
  position: relative;
  z-index: 10;
  top: 40px;
}
 
.div2 {
  position: relative;
  z-index: 1;
  top: 20px;
  left: 100px;
}
 
.div3 {
  position: relative;
  z-index: 0;
  left: 200px;
}
 
.div4 {
  position: relative;
  z-index: -1;
  bottom: 20px;
  left: 250px;
}
 
.div5 {
  position: relative;
  z-index: -5;
  bottom: 40px;
  left: 350px;
}
cs

 

<μ‹€ν–‰ κ²°κ³Ό>

 

 

 

 

 

 

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κ²ƒμž…λ‹ˆλ‹€. μˆ˜μ •ν•  뢀뢄이 있으면 μ•Œλ €μ£Όμ„Έμš” :)

 

 

 

 

728x90