css์ position ์์ฑ์ผ๋ก html์์๋ฅผ ๊ธฐ๋ณธ ํ๋ฆ์์ ๋ฒ์ด๋์ ์ํ๋ ๊ณณ์ ๋ฐฐ์นํ ์ ์๋ค.
CSS์์ position ์์ฑ์ HTML ๋ฌธ์ ์์์ ์์๊ฐ ๋ฐฐ์น๋๋ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ float ์ ํ ์์(element)๊ฐ ๋ณดํต ํ๋ฆ(normal flow)์ผ๋ก๋ถํฐ ๋น ์ ธ
ํ ์คํธ ๋ฐ ์ธ๋ผ์ธ(inline) ์์๊ฐ ๊ทธ ์ฃผ์๋ฅผ ๊ฐ์ธ๋ ์๊ธฐ ์ปจํ ์ด๋์ ์ข์ฐ์ธก์ ๋ฐ๋ผ ๋ฐฐ์น๋์ด์ผ ํจ์ ์ง์ ํ๋ค.
โ
1.position ์์ฑ ( static / relative / absolute / fixed / sticky / z- index )
2. float ์์ฑ( none / left / right )
1.position: ์์ฑ๊ฐ;
1.1. static
postition๊ฐ์ static์ผ๋ก ์ง์ ํ๋ฉด ์๋ฌด๋ฐ ๋ณํ๊ฐ ์๋ค.
์ขํ์์ฑ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์์น ์์ฑ์ ์ฌ์ฉํ์ง ์์์ ๋์ ๊ฐ๋ค.
โ
โ
1.2. relative
โ ๊ธฐ์ค์ : ์์์ ์ผ์ชฝ ์ ๋ชจ์๋ฆฌ
์์๋ก ๋ง๋ ์ธ ๊ฐ์ง ์๊น์ ๋ฐ์ค ์ค์์ green ์์์ ์์น๋ฅผ relative ์์ฑ์ ์ด์ฉํ์ฌ ์ค์ ํด๋ณด๋ฉด
(์ผ์ชฝ์์ 100px๋ก ์ค์ ํ ๋ชจ์ต)


์ด๋ ๊ฒ ์ด๋ก์ ์์์ ์์น๊ฐ ์ผ์ชฝ ์ ๋ชจ์๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก 100px ๋ฉ์ด์ง ๊ฒ์ ํ์ธํ ์ ์๋ค.
โ
โ
โ
์ด๋ฒ์ ์ผ์ชฝ ์๋ฅผ ๊ธฐ์ค์ผ๋ก left,top์ผ๋ก๋ถํฐ ์์น ๋ณํ๋ฅผ ์คฌ๋ค.

์ด๋ก๋ฐ์ค์ ์์น๊ฐ ์ผ์ชฝ์ผ๋ก๋ถํฐ 200px, ์์์น๋ก๋ถํฐ ์๋ 50px ์ด๋๋์ด ๊ณ ์ ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.

โ
โ
1.2. absolute
๊ธฐ์ค์ ์ด ์์์ ์ผ์ชฝ ์ ๋ชจ์๋ฆฌ์ธ relative ์์ฑ๊ณผ ๋ค๋ฅด๊ฒ,
absoulte ์ผ ๋๋ ์น๋ธ๋ผ์ฐ์ ์ ์ผ์ชฝ ์ ๋ชจ์๋ฆฌ๊ฐ ๊ธฐ์ค์ ์ด๋ค.
โ
์ด๋ฒ์๋ green๋ฐ์ค์ ์์น๋ฅผ ์ด๋์์ผ๋ณด๋ฉด,

โ
absolute์ผ ๋๋ top, bottom ์์ฑ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์์๋ ์๋ ์์น์์ ์ ์๋๋ก๋ง ์ด๋ํ๋ค.

โ relative ๊ฐ์ผ ๋๋ ์์๊ฐ ์ด๋ํด๋ ์์๊ฐ ์๋ ์์น์ ์๋ ๊ฒ์ฒ๋ผ ์ ์ง๋๋ค.
โ absolute ๊ฐ์ผ ๋๋ ์์๊ฐ ์์ง์ด๋ฉด ์์๊ฐ ์๋ ์๋ ๊ณต๊ฐ์ ๋น ๊ณต๊ฐ์ผ๋ก ์ธ์๋๋ค.
ใด ๊ทธ๋์ blue ๋ฐ์ค๊ฐ ์๋ green ๋ฐ์ค ์๋ฆฌ๋ก ์ฌ๋ผ์๋ค.
โ
โ
โ
โ
โ
1.3. fixed
fixed๋ก ์ง์ ํ๋ฉด ํด๋น ์์๋ ์ง์ ๋ ์์น์ ๊ณ ์ ๋๋ค.
ใด ์คํํ๋ฉด absolute์ ๋์ผํ๊ฒ ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์คํฌ๋กคํ์ ๋ ์ฐจ์ด๊ฐ ๋ํ๋๋ค.
โ
โ
โ
ํ๋ฉด์ด ์คํฌ๋กค ๊ฐ๋ฅํ๋๋ก margin height ๋ฅผ 4000px ๋ก ์ค์ ํด์ค ๋ค,
์ด๋ฒ์๋ green ๋ฐ์ค์ ์์น๋ฅผ fixed ์ํค๋ฉด,

green ๋ฐ์ค๋ ํ๋ฉด์ ์คํฌ๋กคํด๋ ๊ทธ๋๋ก ๊ณ ์ ๋์ด ์๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.! (๊ณ ์ ใ )
๋ฐ๋ฉด์ blue ๋ฐ์ค๋ ์คํฌ๋กคํ์ ์์ ์๋ red ๋ฐ์ค์ ๊ฒน์ณ ์ฌ๋ผ๊ฐ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.(๊ณ ์ x)

โ
โ
โ
โ
1.4. sticky
sticky๊ฐ์ ์ฌ์ฉํ๋ฉด ์คํฌ๋กค ์ค ์ผ์ ์ง์ ์ด ๋๋ฉด ์์๊ฐ fixed ๊ฐ์ฒ๋ผ ์์ฉํ๋ค.
๊ธฐ์กด ์ฝ๋์์ green ๋ฐ์ค ์ขํ์ top ์์ฑ๊ฐ์ 0์ผ๋ก ์ง์ ํ๋ฉด

์ฒ์์ ๋ํ๋๋ ์คํ๊ฒฐ๊ณผ๋ static ๊ฐ์ผ ๋์ ๊ฐ์ง๋ง,
์๊น ํด์ค ์คํฌ๋กค์ด ์๋ค !!

ใด์คํฌ๋กค ํด๋ณด๋ฉด green ๋ฐ์ค๋ top ์์ฑ๊ฐ์ธ 0์ธ ์์น๋ก ๊ณ ์ ๋์ด ์๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
(blue๋ฐ์ค, red ๋ฐ์ค ์๋ก ๊ณ ์ ๋์ด์๋ ๋ชจ์ต)
โ
โ
โ
โ
1.5. z- index
z-index ์์ฑ์ ์ฌ์ฉํ๋ฉด position ์์ฑ์ผ๋ก ๋ฐฐ์นํ z์ถ์ ์์น๋ฅผ ๊ฒฐ์ ํ ์ ์๋ค.
โ
- position ์์ฑ์ด static ์ด ์๋ ๋๋ ์ขํ ์์ฑ์ ๋ฐ๋ผ ์์๋ฅผ ๋ฐฐ์นํ ์ ์๋๋ฐ, ์ด๋ ์์๋ผ๋ฆฌ ๊ฒน์น๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ด๋ ์์๋ค์ ์ ๋ค ๋ฐฐ์น๋ฅผ ๋ฐ๊ฟ ๋ z์ถ ๊ฐ์ ์ง์ ํ๋ z-index๋ฅผ ์ฌ์ฉํ๋ค.
- โ ์์ฑ๊ฐ์ ์ซ์๊ฐ ํด์๋ก ๋ ์์ ๋ฐฐ์น๋จ.
- 0๋ณด๋ค ํฌ๊ฒ ์ค์ ํ๋ฉด ๋จ.
โ
โ

red ๋ฐ์ค์ z-index ๋ฅผ ์ค์ ํด์ฃผ๋ฉด z์ถ ๊ฐ์ด ๋ ๋์ ๋นจ๊ฐ์ ์์๊ฐ ์์ ํ์๋๋ค.

โ
โ
2. float:์์ฑ๊ฐ;
์์๋ฅผ ๊ณต์ค์ ๋์ ๋ค์์์ค๋ ์์๋ฅผ ์ฃผ๋ณ์ ์์ฐ์ค๋ฝ๊ฒ ๋ฐฐ์นํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฐ์.

2.1. ์ด๋ฏธ์ง์์์ ํ ์คํธ์์ ๋ฐฐ์น
โ
์ด๋ฏธ์ง์ ํ ์คํธ๋ฅผ ํจ๊ป ์ฌ์ฉํ ๋ float ์์ฑ์ ์ด์ฉํด๋ณด๋ฉด,
์ด๋ฏธ์ง์ float ์์ฑ์ left๋ก ์ง์ ํ๋ฉด ์ผ์ชฝ์ผ๋ก ๋ฐฐ์น๋๊ณ , ํ ์คํธ๋ ์ด๋ฏธ์ง ์์ ์ฃผ๋ณ์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ๋ฐฐ์น๋จ.


โ
โ
โ
โ
2.2. ๋ธ๋ก ์ฑ๊ฒฉ ์์๋ฅผ ์ธ๋ผ์ธ ์ฑ๊ฒฉ ์์์ฒ๋ผ ๋ฐฐ์นํ๊ธฐ
โ
float ์์ฑ์ ์๋ ์๋ฆฌ๋ฅผ ์ด์ฉํด์ ์ธ๋ผ์ธ ์ฑ๊ฒฉ ์์์ฒ๋ผ ๋ฐฐ์นํ ์ ์๋ค.


โ
๋นจ๊ฐ์ ์์์ float ์์ฑ๊ฐ์ left ๋ก ์ง์ ํ๋ฉด,


์ด๋ ๊ฒ ๋ฐฐ์น๋๋ค.
ใด ๋นจ๊ฐ์ ์์๊ฐ ๋ฐ๋ ค๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ฌ์ค ํ๋์ ์์ ์ผ๋ถ๊ฐ ๋นจ๊ฐ์ ์๋์ ๊น๋ ค์๋ ์ค์ด๋ค.
float ์์ฑ์ ๊ณต์ค์ ๋์ ๋ฐฐ์น๋จ์ผ๋ก, ๋์์ด ์๋ ์์น๋ฅผ ๋น ๊ณต๊ฐ์ผ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ!
โ
-float ์์ฑ์ด ์ ์ฉ๋ ๋์์ ๋ณ๋๋ก width๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด, ์์๊ฐ ๊ฐ์ง ์ฝํ ์ธ ๋งํผ ๋๋น๊ฐ ์๋์ผ๋ก ์กฐ์ ๋จ.
โ
โ
โ
โ
ํ๋์์์์๋ float์ ์ ์ฉํ๋ฉด ๋ ๋ฐ์ค ๋ชจ๋ ํ ์คํธ๊ฐ ์ฐจ์งํ ํฌ๊ธฐ๋งํผ ๋๋น๊ฐ ์กฐ์ ๋ผ์ ๋๋ํ ๋ฐฐ์น๋๋ค.


์ ์ฉ๋ ๋ชจ์ต!
โ3. clear ์์ฑ

ํ๋ ์์๋ง ์ ์ธํ๊ณ ๋นจ๊ฐ, ์ด๋ก์์์ float ์์ฑ์ด ์ ์ฉ๋ ์ํฉ์ด๋ค.


ใด ๋นจ๊ฐ, ์ด๋ก ์์์ float๋ฅผ ์ ์ฉํ ๋ชจ์ต / ํ๋์์๋ ๋นจ๊ฐ์์ ์๋ ๊น๋ ค์๋ค.
โ
โ
โ
๊ทธ๋ฌ๋ฉด ์ด๋ฒ์๋ ํ๋์์์ clear ์์ฑ์ ์ ์ฉ์์ผ float ์์ฑ์ ํด์ ์์ผ๋ณด์ .


ใด ํ๋ ์์๊ฐ ๋ค๋ฅธ ์์์ float ์์ฑ์ ์ํฅ๋ฐ์ง ์์ ์ ์์ ์ผ๋ก ํ์๋ ๋ชจ์ต.
โ
'๐ป > CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ๋๋ฉ์ด์ ์์ฑ / @keyframes ๊ณผ animation ์์ฑ๋ค (0) | 2024.01.07 |
---|---|
์ ํ ํจ๊ณผ /transition ์์ฑ (0) | 2024.01.07 |
๋ฐ์ค ๋ชจ๋ธ ์์ฑ(margin, border, padding, content) (0) | 2024.01.07 |
ํ ์คํธ ์์ฑ๋ค ์ ๋ฆฌ / textarea ๊ณ ์ ํ๋๋ฒ (0) | 2024.01.07 |
CSS์ ์ฉ๋ฐฉ์ / ๋ด๋ถ์คํ์ผ ์ํธ, ์ธ๋ถ์คํ์ผ ์ํธ, ์ธ๋ผ์ธ์คํ์ผ (1) | 2024.01.07 |