position ์†์„ฑ - relative, absolute, fixed

์ •์žฌ์„ฑยท2022๋…„ 4์›” 26์ผ
0
post-thumbnail

post-thumbnail
๐Ÿ™‹โ€โ™€๏ธ position
position ์€ ๋ ˆ์ด์•„์›ƒ์„ ๋ฐฐ์น˜ํ•˜๊ฑฐ๋‚˜, ๊ฐ์ฒด๋ฅผ ์œ„์น˜์‹œํ‚ฌ๋•Œ ์‚ฌ์šฉํ•˜๋Š” css ์†์„ฑ์ด๋‹ค.
position ์†์„ฑ์€ ์ƒ์†๋˜์ง€ ์•Š์œผ๋ฉฐ, ์œ„(top), ์•„๋ž˜(bottom), ์™ผ์ชฝ(left), ์˜ค๋ฅธ์ชฝ(right) ์˜ ์œ„์น˜๋ฅผ ๊ฐ™์ด ์„ค์ • ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ™‹โ€โ™€๏ธ position์˜ ์†์„ฑ
โ–ช๏ธ static (๊ธฐ๋ณธ๊ฐ’) :์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
โ–ช๏ธ relative : ์œ„์น˜๋ฅผ ๊ณ„์‚ฐํ• ๋•Œ static์˜ ์›๋ž˜ ์œ„์น˜๋ถ€ํ„ฐ ๊ณ„์‚ฐํ•œ๋‹ค.
โ–ช๏ธ absolute : ์›๋ž˜ ์œ„์น˜์™€ ์ƒ๊ด€์—†์ด ์œ„์น˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ƒ์œ„ ์š”์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์œ„์น˜๊ฐ€ ๊ฒฐ์ • ๋œ๋‹ค.
โ–ช๏ธ fixed : ์›๋ž˜ ์œ„์น˜์™€ ์ƒ๊ด€์—†์ด ์œ„์น˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ์œ„ ์š”์†Œ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ™”๋ฉด์ด ๋ฐ”๋€Œ๋”๋ผ๋„ ๊ณ ์ •๋œ ์œ„์น˜๋ฅผ ์„ค์ • ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์˜ ์ƒ๋Œ€ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์œ„์น˜๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค.

  1. position:static
    static์€ ๊ธฐ๋ณธ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ์„ค์ •ํ•ด์ค„ ํ•„์š”๊ฐ€ ์—†๋‹ค.
    ์„ค์ • ์ „๊ณผ ํ›„์˜ ๊ฐ’์ด ๊ฐ™๋‹ค.

  2. position:relative
    relative ์†์„ฑ์€ static์˜ ์›๋ž˜ ์œ„์น˜(๊ธฐ์กด์˜ ์œ„์น˜)๋ถ€ํ„ฐ ๊ณ„์‚ฐํ•œ๋‹ค.

relative๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์–ด๋Š ์œ„์น˜๋กœ ์ด๋™ ํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.
์œ„์น˜๋ฅผ ์ด๋™์‹œ์ผœ์ฃผ๋Š” top, right, bottom, left ํ”„๋กœํผํ‹ฐ๊ฐ€ ์žˆ์–ด์•ผ ์›๋ž˜์˜ ์œ„์น˜์—์„œ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

ex)

html

div
div.relative
div.relative.top-left
css

div {
border: 3px blue solid;
width: 100px;
height: 100px;
}

div.relative {
position: relative;
}

div.relative.top-left {
left: 50px;
top: 50px;
}
์†Œ์Šค๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

div.relative๋Š” position์„ relative๋กœ ์ฃผ์—ˆ๋”๋ผ๋„ ๋”ฐ๋กœ top, right ๋“ฑ ์œ„์น˜ property๊ฐ’์„ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์˜ ์ž๋ฆฌ์— ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

div.relative.top-left๋Š” ๊ธฐ์กด์˜ ์ž๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์œ„์ชฝ์—์„œ 50px, ์™ผ์ชฝ์œผ๋กœ 50px์”ฉ ์ด๋™ํ•˜์˜€๋‹ค.

  1. position:absolute
    position: absolute๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜ ์ง€์ • ๋ถ€๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ ˆ๋Œ€์ ์œผ๋กœ ์›€์ง์ด๊ฒŒ ๋œ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ absolute๋ฅผ ์“ธ ๊ฒฝ์šฐ, ๊ธฐ์ค€์ด ๋  ๋ถ€๋ชจ์—๊ฒŒ position: relative; ๋ฅผ ๋ถ€์—ฌํ•˜๋ฉด ๋œ๋‹ค.

ex)
html

div.relative

div.absolute

css

div.relative {
position: relative;
}

p.absolute {
position: absolute;
left: 50px;
top: 50px;
background-color: yellow;
}
์ฝ”๋“œ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

div.absolute์˜ ๋ถ€๋ชจํƒœ๊ทธ์˜ position์ด relative์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ์œผ๋กœ 50px, ์œ„์—์„œ 50px์”ฉ ์ด๋™ํ•˜์˜€๋‹ค.

๋งŒ์•ฝ, ์กฐ์ƒ ์ค‘ ์œ„์น˜ ์ง€์ • ์š”์†Œ๊ฐ€ ์—†๋‹ค๋ฉด ์ดˆ๊ธฐ ์ปจํ…Œ์ด๋‹ ๋ธ”๋ก์„ ๊ธฐ์ค€์œผ๋กœ ์‚ผ๋Š”๋‹ค.

ex)
html

absolute

css

p.absolute {
position: absolute;
left: 50px;
top: 50px;
background-color: yellow;
}
๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

๋ถ€๋ชจ๊ฐ€ ๋”ฐ๋กœ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ํฐ ๋ถ€๋ชจ์ธ ๋ทฐํฌํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์•„๋ž˜์—์„œ 50px, ์œ„์—์„œ 50px์”ฉ ์ด๋™ํ•˜์˜€๋‹ค.

  1. position:fixed
    position: fixed ์†์„ฑ์€ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์˜ ์ƒ๋Œ€ ์œ„์น˜๋ฅผ ๋งํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ํ™”๋ฉด์ด ๋ฐ”๋€Œ์–ด๋„, ์Šคํฌ๋กค์ด ๋˜์–ด๋„ ๊ณ ์ •๋œ ์œ„์น˜๋ฅผ ์„ค์ • ํ•  ์ˆ˜ ์žˆ๊ณ , ์ƒ์œ„ ์š”์†Œ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

profile
๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ / ์ผ์ƒ๋ธ”๋กœ๊ทธ

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