[UI/UX]coding ๊ธฐ์ดˆ - CSS- position

Doheeยท2024๋…„ 12์›” 22์ผ
post-thumbnail

๐Ÿ“Œposition

position์„ ์‚ฌ์šฉํ• ๋•Œ์—๋Š” '์ƒ๋Œ€์œ„์น˜'๋กœ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ์ •ํ•˜๊ฑฐ๋‚˜ '์ ˆ๋Œ€์œ„์น˜'๋กœ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์น˜๋ฅผ ์„ค์ •ํ• ๋•Œ์—๋Š” x์ถ•๊ณผ y์ถ• ์ขŒํ‘œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

โœ”๏ธ์ƒ๋Œ€์œ„์น˜ : ํƒœ๊ทธ๊ฐ€ ์ถœ๋ ฅ๋œ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒˆ๋กญ๊ฒŒ ์œ„์น˜๋ฅผ ์ง€์ •ํ•œ๋‹ค.(์ƒ๋Œ€์ ์œผ๋กœ ์ง€์ •ํ•œ๋‹ค.)

โœ”๏ธ์ ˆ๋Œ€์œ„์น˜ : ํƒœ๊ทธ๊ฐ€ 0์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ƒˆ๋กญ๊ฒŒ ์œ„์น˜๋ฅผ ์ง€์ •ํ•œ๋‹ค.

[์†์„ฑ๊ฐ’]

-relative : ์ƒ๋Œ€์ ์œผ๋กœ ์œ„์น˜๋ฃฐ ์žก๋Š”๋‹ค. ํƒœ๊ทธ๊ฐ€ ์ถœ๋ ฅ๋œ ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒํ•˜ ์ขŒ์šฐ๋กœ ์›€์ง์ธ๋‹ค.

-absolute : ์ ˆ๋Œ€์ ์ธ ์œ„์น˜๋กœ ์ด๋™ํ•œ๋‹ค. (๋ฌด์กฐ๊ฑด 0์ ์„ ์ฐพ์•„๊ฐ„๋‹ค.) ๋ถ€๋ชจ๋ฐ•์Šค๊ฐ€ relative๋ผ๋ฉด ๋ถ€๋ชจ์˜ 0์ ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

-static : ํƒœ๊ทธ๊ฐ€ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ถœ๋ ฅ๋˜๋ฉฐ(block) ์ขŒํ‘œ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์—†๋‹ค. ๊ธฐ๋ณธ๊ฐ’.

-fixed : ํ™”๋ฉด์„ ๊ธฐ์ค€์œผ๋กœ ์ ˆ๋Œ€์œ„์น˜ ์ขŒํ‘œ๋ฅผ ์žก๋Š”๋‹ค. ๋ฌธ์„œ์˜ ๊ธธ์ด์™€๋Š” ์ƒ๊ด€์—†์ด ํ™”๋ฉด์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค.

  • position์„ relative๋‚˜ absolute๋‚˜ fixed๋ฅผ ์ ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ๋•Œ๋ถ€ํ„ฐ ํ•ด๋‹น ํƒœ๊ทธ๋Š” ์ขŒํ‘œ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.

  • static์€ position์˜ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ขŒํ‘œ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์œ„์น˜๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด margin์ด๋‚˜ padding์ด๋‚˜ flex๋ฅผ ์ด์šฉํ•ด ์œ„์น˜๋ฅผ ์žก์„ ์ˆ˜ ์žˆ๋‹ค.
    ์ฆ‰, position:static์€ position์†์„ฑ์„ ์•ˆ์“ด๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

  • static์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์†์„ฑ๊ฐ’์„ ์“ฐ๊ฒŒ ๋˜๋ฉด ์ขŒํ‘œ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๊ณ , ์ขŒํ‘œ์†์„ฑ์— ๋”ฐ๋ผ ํƒœ๊ทธ์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

[์ขŒํ‘œ์†์„ฑ]

-left : ๋ถ€๋ชจ๋ฐ•์Šค ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์™ผ์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ์ขŒ์šฐ๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค.
์–‘์ˆ˜๋ฅผ ์“ธ ๊ฒฝ์šฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

-right : ๋ถ€๋ชจ๋ฐ•์Šค ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์˜ค๋ฅธ์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ์ขŒ์šฐ๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค.
์–‘์ˆ˜๋ฅผ ์“ธ ๊ฒฝ์šฐ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

-top : ๋ถ€๋ชจ๋ฐ•์Šค ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์œ„์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ์ƒํ•˜๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค.
์–‘์ˆ˜๋ฅผ ์“ธ ๊ฒฝ์šฐ ์•„๋ž˜์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

-bottom : ๋ถ€๋ชจ๋ฐ•์Šค ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์•„๋ž˜์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ์ƒํ•˜๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค.
์–‘์ˆ˜๋ฅผ ์“ธ ๊ฒฝ์šฐ ์œ„์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

  • position:relative์˜ ๊ฒฝ์šฐ left, top์ขŒํ‘œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • position:absolute์˜ ๊ฒฝ์šฐ left, top, right, bottom ๋ชจ๋“  ์ขŒํ‘œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ“Œz-index


  • position์„ ์ด์šฉํ•ด ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ์žก์„๋•Œ ๊ฒน์ณ์ ธ์žˆ๋Š” ๋ฐ•์Šค์˜ ์ˆœ์„œ๋ฅผ z-index์†์„ฑ์œผ๋กœ ๋ฐ”๊พผ๋‹ค.
    z-index์˜ ๊ฐ’์€ ๋‹จ์œ„ ์—†์ด ์ˆซ์ž๋งŒ ์‚ฌ์šฉํ•˜๊ณ , ํฐ ์ˆซ์ž๋ฅผ ์ ์šฉํ•œ ์š”์†Œ๊ฐ€ ๋งจ ์•ž์œผ๋กœ ๋‚˜์˜จ๋‹ค.

  • z-index์˜ ๊ธฐ๋ณธ๊ฐ’์€ 0์ด๊ณ , 9999๊นŒ์ง€ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
    ๋งŒ์•ฝ ๋ฐ•์Šค๋“ค์— z-index๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋ชจ๋‘ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ 0์„ ๊ฐ–๋Š”๋‹ค.

๐Ÿ“Œposition:sticky


sticky๋Š” ์ฒ˜์Œ์—๋Š” relative์ฒ˜๋Ÿผ ์›๋ž˜ ์ถœ๋ ฅ๋œ ํƒœ๊ทธ ์œ„์น˜์— ์žˆ๋‹ค๊ฐ€ ํŠน์ • ๋ถ€๋ชจ ์„น์…˜์ด ๋‚˜์™€์„๋•Œ fixed์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ์†์„ฑ์ด๋‹ค.

์ฆ‰, ๋ถ€๋ชจ์„น์…˜์ด ๋ธŒ๋ผ์šฐ์ €์˜ ์œ—๋ถ€๋ถ„๊ณผ ๋งŒ๋‚˜๋ฉด fixed์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค.

โ˜…โ˜…โ˜…โ˜…โ˜… ๊ผญ ์ง€์ผœ์•ผํ•˜๋Š” ๊ทœ์น™โ˜…โ˜…โ˜…โ˜…โ˜…
sticky๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด
1. ๋ถ€๋ชจ๋ฐ•์Šค์— ๋ฐ˜๋“œ์‹œ height์†์„ฑ์ด ์žˆ์–ด์•ผ ํ•˜๊ณ (auto์•ˆ๋จ)
2. ๋ถ€๋ชจ๋ฐ•์Šค์— overflow์†์„ฑ์ด ์žˆ์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

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