[TIL] CSS Position Property

ใ…Žใ…์ˆ˜ยท2020๋…„ 10์›” 21์ผ
0

[TIL] Html, Css

๋ชฉ๋ก ๋ณด๊ธฐ
3/6

๐Ÿง CSS Position Property์— ๋Œ€ํ•ด์„œ ์ •ํ™•ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด์ž.

์˜ˆ์œ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ•์Šค๋ฅผ ์ ์žฌ์ ์†Œ์— ๋†“๋Š” ๊ฒƒ์€ ํ•„์ˆ˜๋‹ค!

CSS ๋ ˆ์ด์•„์›ƒ์„ ์งœ๋‹ค ๋ณด๋ฉด, ๋ ˆ์ด์•„์›ƒ์ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ์œ„์น˜์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์œผ๋‚˜, ํ™”๋ฉด ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋ฉด ๋ง๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ๋•Œ๋ฌธ์— (((๋‚˜ใ…Ž)))
์ •ํ™•ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค.

Position Property

Position Property์—๋Š” ๋„ค ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  • static
  • fixed
  • relative
  • absolute

1. static

default ๊ฐ’์ด๋‹ค. ์œ„์น˜๊ฐ€ ์ง€์ •๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

.box1 {
            position: static;
            border: 1px solid black;
            width: 200px;
            height: 200px;
            margin-left: 50px;
            text-align: center;
            padding: 80px 0;
            box-sizing: border-box;
        }

2. fixed

  • ํŽ˜์ด์ง€ ์Šคํฌ๋กค ๋‚ด๋ ค๋„ fix๋˜์–ด ์žˆ๋Š” ๊ฒƒ !
  • ๋ทฐํฌํŠธ(viewport)์— ์ƒ๋Œ€์ ์œผ๋กœ ์œ„์น˜๊ฐ€ ์ง€์ •๋˜๋Š”๋ฐ, ์ด๋Š” ํŽ˜์ด์ง€๊ฐ€ ์Šคํฌ๋กค๋˜๋”๋ผ๋„ ๋Š˜ ๊ฐ™์€ ๊ณณ์— ์œ„์น˜ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.
  • relative์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ top์ด๋‚˜ right, bottom, left ํ”„๋กœํผํ‹ฐ๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.
.box2 {
            border: 3px solid skyblue;
            width: 200px;
            height: 200px;
            margin-left: 50px;
            text-align: center;
            padding: 80px 0;
            box-sizing: border-box;
            position: fixed;
            right: 0;
        }
        
        



์Šคํฌ๋กค์„ ๋‚ด๋ ค๋„ box2-fixed๊ฐ€ ์œ ์ง€๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

3. relative

  • ์•„ ์ด๊ฑฐ absolute๋ž‘ ๋„ˆ๋ฌด ํ—ท๊ฐˆ๋ฆฐ๋‹ค......
  • relative๋Š” ๋ณ„๋„์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ static๊ณผ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•œ๋‹ค.
  • ์ƒ๋Œ€ ์œ„์น˜๊ฐ€ ์ง€์ •๋œ ์—˜๋ฆฌ๋จผํŠธ์— top์ด๋‚˜ right, bottom, left๋ฅผ ์ง€์ •ํ•˜๋ฉด ๊ธฐ๋ณธ ์œ„์น˜์™€ ๋‹ค๋ฅด๊ฒŒ ์œ„์น˜๊ฐ€ ์กฐ์ •๋œ๋‹ค.
.box3 {
            position: relative;
            border: 1px solid black;
            width: 200px;
            height: 200px;
            margin-left: 50px;
            text-align: center;
            padding: 80px 0;
            box-sizing: border-box;
        }

        .box3-1 {
            border: 2px solid black;
            width: 300px;
            height: 100px;
            /* margin-left: 50px; */
            text-align: center;
            padding: 40px 0;
            box-sizing: border-box;
            position: relative;
            top: -20px;
            /* top์„ -๋กœ ์„ค์ •ํ•ด์ฃผ๋ฉด ์œ„๋กœ ๊ฐ„๋‹ค ! */
            left: 100px;
        }

4. absolute

  • ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ถ€๋ชจ ํƒœ๊ทธ์˜ position์ด relative์ผ ๋•Œ, ๋ถ€๋ชจ ํƒœ๊ทธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ absolute๊ฐ€ ์›€์ง์ธ๋‹ค.
  • ์กฐ์ƒ element๊ฐ€ ์—†์œผ๋ฉด body document๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์›€์ง์ธ๋‹ค.
.absolute {
            position: relative;
            border: 1px solid grey;
            width: 500px;
            height: 500px;
            left: 50px;
        }


        .box4 {
            border: 2px solid red;
            width: 200px;
            height: 200px;
            margin-left: 50px;
            text-align: center;
            padding: 80px 0;
            box-sizing: border-box;
            position: absolute;
            top: 100px;
            left: 200px;
        }

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