Notice
Recent Posts
Recent Comments
Link
ยซ   2026/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
Tags
more
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

็„ก์ œ

CSS์˜ Position ์†์„ฑ ๋ณธ๋ฌธ

<style>

CSS์˜ Position ์†์„ฑ

yo-u-loo 2026. 3. 19. 16:18

 

๐ŸŸข Position ์†์„ฑ

์š”์†Œ๊ฐ€ ๋ฌธ์„œ ์•ˆ์—์„œ ์–ด๋–ป๊ฒŒ ์œ„์น˜ํ• ์ง€๋ฅผ ์ •์˜.

 

๐Ÿ”น position ์ข…๋ฅ˜์™€ ํŠน์ง•

์†์„ฑ๊ฐ’ ์„ค๋ช… top/right/bottom/left ์‚ฌ์šฉ ๋ฌธ์„œ ํ๋ฆ„ ์˜ํ–ฅ ํ™œ์šฉ ์˜ˆ์‹œ
static ์ผ๋ฐ˜ ๋ฌธ์„œ ํ๋ฆ„๋Œ€๋กœ ๋ฐฐ์น˜ (๊ธฐ๋ณธ๊ฐ’) โŒ ๋ฌด์‹œ๋จ ์ผ๋ฐ˜ ๋Œ€๋ถ€๋ถ„ ์ดˆ๊ธฐ ์ƒํƒœ
relative ์›๋ž˜ ์ž๋ฆฌ ๊ธฐ์ค€์œผ๋กœ ์ด๋™ ๊ฐ€๋Šฅ โœ… ์ƒ๋Œ€ ์ด๋™ โŒ ์ž๋ฆฌ ์ฐจ์ง€ ์œ ์ง€ tooltip ๊ธฐ์ค€, ๋ฏธ์„ธ ์œ„์น˜ ์กฐ์ •
absolute ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜ ์ง€์ • ๋ถ€๋ชจ ๊ธฐ์ค€ ๋ฐฐ์น˜ โœ… ์œ„์น˜ ์ง€์ • โœ… ๋ถ€๋ชจ ๊ธฐ์ค€์œผ๋กœ ๋…๋ฆฝ dropdown, modal, ์นด๋“œ ๋ฐฐ์น˜
fixed ๋ทฐํฌํŠธ ๊ธฐ์ค€ ๋…๋ฆฝ ๋ฐฐ์น˜, ์Šคํฌ๋กค ์˜ํ–ฅ ์—†์Œ โœ… ์œ„์น˜ ์ง€์ • โœ… ๋…๋ฆฝ sticky header, ์Šคํฌ๋กค ๋ฒ„ํŠผ
sticky ์Šคํฌ๋กค ์‹œ ๊ธฐ์ค€ ์œ„์น˜๊นŒ์ง€ ๋”ฐ๋ผ๊ฐ€๋‹ค ๊ณ ์ • โœ… top ๋“ฑ ํ•„์š” โŒ ๋ถ€๋ชจ ๋‚ด์—์„œ ํ—ค๋” ๊ณ ์ •, ํ…Œ์ด๋ธ” ํ—ค๋”

 

๐Ÿ”น position ํ™œ์šฉ ๊ตฌ์กฐ

1๏ธโƒฃ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„ ์„ค์ •

<div class="parent">
  <div class="child"></div>
</div>
  • ๋ถ€๋ชจ: position: relative → ๊ธฐ์ค€์ .
  • ์ž์‹: position: absolute → ๋ถ€๋ชจ ๊ธฐ์ค€ ์ž์œ  ๋ฐฐ์น˜.

 

2๏ธโƒฃ ๋ถ€๋ชจ ์š”์†Œ์— position: relative ์„ค์ •

#parent {
  position: relative;
  width: 400px;
  height: 300px;
  background: #d0e6ff;
}

 

3๏ธโƒฃ ์ž์‹ ์š”์†Œ์— position: absolute ์„ค์ •

#child {
  position: absolute;
}

 

4๏ธโƒฃ ์ž์‹ ์š”์†Œ์˜ ์ขŒํ‘œ๋ฅผ ์กฐ์ •

#child {
  position: absolute;
  top: 20px;      /* ๋ถ€๋ชจ ์ƒ๋‹จ์—์„œ 20px */
  right: 30px;    /* ๋ถ€๋ชจ ์˜ค๋ฅธ์ชฝ์—์„œ 30px */
  width: 100px;
  height: 50px;
  transform: translate(-50%, -50%);
  background: #ffb347;
}
  • top/right/bottom/left ์œ„์น˜ ์กฐ์ •.
  • ์ค‘์•™ ์ •๋ ฌ: transform ํ•จ๊ป˜ ์‚ฌ์šฉ.

๐Ÿ‘‰ ์ด์ œ ์›ํ•˜๋Š” ํฌ์ง€์…˜์„ ์ž์œ ๋กญ๊ฒŒ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ… ์‹ค๋ฌด ๊ฟ€ํŒ โœ…

๋ถ€๋ชจ๊ฐ€ <body> → relative ์ƒ๋žต ๊ฐ€๋Šฅ

absolute + z-index → ๊ฒน์น˜๋Š” ์š”์†Œ ์ˆœ์„œ ์ œ์–ด

sticky → ํŠน์ • ์Šคํฌ๋กค ์œ„์น˜์—์„œ ๊ณ ์ •

fixed → ๋ทฐํฌํŠธ ๊ธฐ์ค€ ๊ณ ์ •, ์Šคํฌ๋กค๊ณผ ๋ฌด๊ด€

relative + absolute ์กฐํ•ฉ → tooltip, modal, popup ๊ตฌํ˜„

 

๐Ÿ”ธ z-index

๊ฐ™์€ ์Œ“์ž„ ๋งฅ๋ฝ(stacking context) ์•ˆ์—์„œ์˜ ๋ ˆ์ด์–ด ์ˆœ์„œ๋ฅผ ์ •ํ•˜๋Š” ๊ฐ’

1๏ธโƒฃ position ์„ค์ • (ํ•„์ˆ˜)

.box {
  position: relative; /* ๋˜๋Š” absolute, fixed, sticky */
}
  • z-index๋Š” position์ด ์„ค์ •๋œ ์š”์†Œ์—์„œ๋งŒ ๋™์ž‘
  • position: static (๊ธฐ๋ณธ๊ฐ’)์—์„œ๋Š” ๊ฑฐ์˜ ์˜๋ฏธ ์—†์Œ

 

2๏ธโƒฃ z-index ๊ฐ’ ์ง€์ •

.box1 {
  position: relative;
  z-index: 1;
}

.box2 {
  position: absolute;
  z-index: 10;
}
/* box2๊ฐ€ box1 ์œ„์— ํ‘œ์‹œ */
  • ๊ฐ’์ด ํด์ˆ˜๋ก ์œ„(์•ž)์— ๋ณด์ž„
  • ๊ฐ’์ด ์ž‘์„์ˆ˜๋ก ์•„๋ž˜(๋’ค)์— ๊น”๋ฆผ
    • ์–‘์ˆ˜ → ์œ„๋กœ ์˜ฌ๋ผ๊ฐ
    • 0 → ๊ธฐ๋ณธ ๋ ˆ๋ฒจ
    • ์Œ์ˆ˜ → ๋’ค๋กœ ๊ฐ
  • ๊ฒน์น˜๋Š” ์š”์†Œ๋ผ๋ฆฌ๋งŒ ์˜๋ฏธ ์žˆ์Œ

 


 

๐Ÿ–ฅ๏ธโ€Š Self trainingโ€Š ๐Ÿ–ฅ๏ธโ€Š

https://www.w3schools.com/css/css_position_offset.asp

 


 

CSS display: inline-block

https://www.w3schools.com/css/css_inline-block.asp

 

CSS Box Model

https://www.w3schools.com/css/css_boxmodel.asp

 

CSS Borders

https://www.w3schools.com/css/css_border.asp

 

CSS Margins

https://www.w3schools.com/css/css_margin.asp

 

CSS Padding

https://www.w3schools.com/css/css_padding.asp

 

CSS The display Property

https://www.w3schools.com/css/css_display.asp

 

CSS Float

https://www.w3schools.com/css/css_float.asp

 

'<style>' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

gradients ํ•จ์ˆ˜  (0) 2026.03.20
background ์†์„ฑ  (0) 2026.03.20
float ์†์„ฑ  (0) 2026.03.19
display ์†์„ฑ  (0) 2026.03.19
Box Model์˜ padding ์†์„ฑ  (0) 2026.03.18