- โ
๋ ์ด์์
๊ณผ ๊ด๋ จ๋ CSS์ ์์ฑ ๐1. relative, absolute, fixed์ ๐2.inline, inline-block, block ๊ทธ๋ฆฌ๊ณ ๐3.float์ ๋ํด์
-WHAT ISโ
position ํ๋กํผํฐ
๋ฅผ ์ฌ์ฉํ๋ฉด, ์ด๋ ์์น์๋ ์์๋ฅผ ๋ฐฐ์นํ ์ ์๊ฒ ๋๋ค.position: static; position: relative; position: absolute; position: fixed;
1>relative
position: relative;
์์ฒด๋ก๋ ์๋ฏธ๊ฐ ์์ด ์ด๋ ์์น๋ก ์ด๋ํ์ง ์๊ณ ์์น๋ฅผ ์ด๋์์ผ์ฃผ๋top, right, bottom, left ํ๋กํผํฐ
๋ฅผ ํจ๊ป ์์ฑํด์ผ ์๋์ ์์น(๊ธฐ์ค)์์ ์ด๋ํ ์ ์์ต๋๋ค.
-์ฆ,top, right, bottom, left
์ญ์position ํ๋กํผํฐ
๊ฐ ์์ ๋ ์ ํจ**ํ ํ๋กํผํฐ์ด๋ค.
<style> .relative { position: relative; } .top-20 { top: -20px; left: 30px; } </style>
div.relative.top-20
์ top๋ก 20px ์ด๋ํ๊ณ , left์์ 30px๋งํผ ๋จ์ด์ ธ ๋ฐฐ์น๋๋ค.- ์ฃผ์ํด์ผํ ๊ฑด **๋ง์ด๋์ค ๊ฐ์ ์๋ก ์ฌ๋ผ๊ฐ๊ฒ ๋ฉ๋๋ค.
2>absolute
position: absolute;
์ ๋์ ์ธ ์์น์ ์์๋ฅผ ๋ ์ ์๋ค.- ํน์ ๋ถ๋ชจ(๊ธฐ์ค)์ ๋ํด ์ ๋์ ์ผ๋ก ์์ง์ด๊ฒ ๋ฉ๋๋ค.
- ๋ถ๋ชจ ์ค์ position์ด relative, fixed, absolute ๋จ ํ๋๋ผ๋ ์์ผ๋ฉด ํด๋น ์์๋ ํน์ ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋์ ์ผ๋ก ์์ง์ผ ์ ์๋ค.
- ์ผ๋ฐ์ ์ผ๋ก๋
position:absolute
๋ฅผ ์ฌ์ฉํ์ฌ ์์์ ์์น๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ, ๊ธฐ์ค์ด ๋์ค ๋ถ๋ชจ์๊ฒposition: relative;
๋ฅผ ๋ถ์ฌํ๋ค.
<style> p { margin: 0; background-color: yellow; } .absolute { position: absolute; } .right-0 { right: 0; bottom: 0; } </style>
- ๐โโ๏ธ? pํ๊ทธ๋
block-element
์ธ๋ฐ
๋ง์นinline-element
์ฒ๋ผ ์ฝํ ์ธ ์ ํฌ๊ธฐ๋งํผ๋ง ๋๋น๊ฐ ์๊ฒผ๋ค..?- ๐โ! ์์๊ฐ
position
์absolute
๊ฐ์ ๊ฐ์ง๋ฉด ์ฝํ ์ธ ์ ํฌ๊ธฐ๋งํผ๋ง ๊ฐ๋กํฌ๊ธฐ๋ฅผ ๊ฐ๊ธฐ ๋๋ฌธ!.right: 0;
,bottom: 0
์ ๊ธฐ์ค์ธ ๋ถ๋ชจ์ ์ฐ์ธก๊ณผ ํ๋จ์์ 0๋งํผ ๋จ์ฌ์ ธ์๋ค๋ ๋ป์ผ๋ก ์ฆ, ์ผ์ชฝ ํ๋จ ๋ชจ์๋ฆฌ์ ์์นํ๊ฒ ๋๋ค.left:0;
์ถ๊ฐ์ ๋ถ๋ชจ์ ์ผ์ชฝ์ 0๋งํผ ๋จ์ด์ ธ ์ผ์ชฝ์ ์์๊ฐ ์์นํ๊ฒ ๋๋ค.
fixed
๋ ๊ณ ์ ๋๋ค๋ ๋ป์ผ๋กabsolute
๋relative
๋ฅผ ๊ฐ์ง ์์๋ ๊ธฐ์ค์ด ๋ ์ค ๋ถ๋ชจ ์์๊ฐ ํ์ํ๋๋ฐ,fixed
๋ ํ์์๋ค.fixed
๋ ์์๋ ๋์ ๋ณด์ด๋ ๋ธ๋ผ์ฐ์ ํ๋ฉด ํฌ๊ธฐ๋งํผ, ํ๋ฉด ๋ด์์๋ง ์์ง์ธ๋ค.
<style> .coupon { position: fixed; right: 0; bottom: 0; background-color: red; color: white; font-size: 20px; } </style>
- coupon ํด๋์ค๋ฅผ ๊ฐ์ง ํ๊ทธ๋ ์คํฌ๋กค์ ๋ด๋ ค๋
right: 0
๊ณผbottom: 0;
์ฆ, ๋ธ๋ผ์ฐ์ ์ ์ค๋ฅธ์ชฝ ํ๋จ์์ 0๋งํผ ๋จ์ด์ก๊ธฐ์ ๋ฐ์ง ๋ถ์ด ๊ณ ์ ๋๋ค.
-WHAT ISโ
<header>, <footer>, <p>, <li>, <table>, <div>, <h1>
ํ๊ทธ ๋ฑ์ ๐งฑblock ์์
์ ํด๋นํฉ๋๋ค.
- ๐งฑ
block ์์
๋ ์ด ์์๊ฐ ๊ฐ๋ก์ ๊ณต๊ฐ์ ๋ชจ๋ ์ฐจ์งํด ์์์ ์ข์ฐ์ธก์ ๋ค๋ฅธ ์์๊ฐ ๋ถ์ง ๋ชปํจ์ ์๋ฏธํ๋ค.
<span>, <a>, <img>
ํ๊ทธ ๋ฑ์ ๐ฉinline ์์
์
๋๋ค.
- ๐งฑ
block ์์
์ ์ฑ์ง์ด ๋ค๋ฅธ ๐ฉinline ์์
๋ ๊ฐ๋ก์ ๊ณต๊ฐ์ ์์์ ์ปจํ ์ธ ํฌ๊ธฐ ๋งํผ๋ง ์ฐจ์งํ์ฌ ์์๋ผ๋ฆฌ ์๋ก ํ ์ค์ ๋ฐ๋ก ์์ ์์นํจ์ ์๋ฏธํ๋ค.
- 4๋ฒ์งธ ์ค๊น์ง ๋ชจ๋ ๐งฑ
block ์์
๋ก ๐งฑblock ์์
๋ ํญ์ ์ ์ค์์ ์์ํด ๊ฐ๋ก ๊ณต๊ฐ์ ์ ๋ถ ์ฐจ์งํ๊ณ ์์ต๋๋ค.- ๋ฐ๋ฉด ๋ง์ง๋ง 5๋ฒ์งธ ์ค์ ๐ฉ
inline ์์
๋ก ์ฝํ ์ธ (ํ ์คํธ)๋งํผ์ ์์ญ๋ง์ ์ฐจ์งํด ๋ค๋ฅธ inline ์์์ ํ๊ทธ๊ฐ ์๋ ๋ฐ๋ก ์ค๋ฅธ์ชฝ์ ๋๋ํ ๋์ด์ด ๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก
inline, block ์ฑ์ง
์ ์ํด ํ๊ทธ ๊ฒฐ์ ๋์ง๋ง CSS๋ก ๊ทธ ์ฑ์ง์ ๋ฐ๊ฟ ์๊ฐ ์๋ค.inline ์ฑ์ง
์ ๊ฐ๋๋ก ํ๋ CSS property์display์ float
๊ฐ ์์ด ํด๋น property์ ๊ฐ์ ๋ถ์ฌํ๋ฉด ํ๊ทธ์ ์ฑ์ง์ด ๋ฐ๋๋ค..inline-p { display: inline-block; } .inline-p { display: inline-block; }
- property์
dispay:inline-block
์ ๋ถ์ฌํ๋ฉด, ์์ ์์ ์์๊ฐ ๋ฐฐ์น๋๋inline ์ฑ์ง
๋ก ๋ฐ๋๋ค..block-span { display: block; } .block-span { display: block; }
- ๋ฐ๋๋ก
inline ์ฑ์ง
์ ๊ฐ์ง ํ๊ทธ๋ฅผdisplay:block
์ ํตํดblock ์ฑ์ง
๋ก ๋ฐ๊ฟ ์ ๋ ์๋ค.
<์ถ๊ฐ>
- display๋ผ๋ property์๋ none ๊ฐ๋ ์๋๋ฐ
display: none;
๊ฐ์ ์ฃผ๋ฉด, ํด๋น ์์๋ ํ๋ฉด์์ ๋ณด์ด์ง ์๊ฒ ๋๋ค..hide { display: none; }
- display:none์ ํ์ฉ ๋ฒ ์ค ํ๋๋ interactiveํ ์น์ ๊ตฌํ์ ์๋ค.
- EX > ์ฌ์ดํธ ๊ฒ์์ฐฝ์ ํ ์คํธ ์ ๋ ฅํ ์๊ฐ, ์๋์ ๊ด๋ จ ๋ชฉ๋ก์ด ๋จ๋๋ฐ ์ด๊ฒ์ ํด๋น ์์ญ์ด
display: none;
์ผ๋ก ๋ณด์ด์ง ์๋ค๊ฐ ํ ์คํธ๋ฅผ ์ ๋ ฅํ๋ ์๊ฐ, JavaScript๊ฐ ๊ฒ์ ๋ชฉ๋ก ์์์ ๊ทธ ์๋ก์ด ํด๋์ค์ธ display: block;์ด๋ผ๋ ๊ฐ์ผ๋ก ๊ต์ฒดํ๋ ๋ฐฉ์.
float
์ ์ฃผ๋ก ์ด๋ฏธ์ง ์ฃผ๋ณ์ ํ
์คํธ๋ฅผ ๊ฐ์ธ๊ธฐ ์ํด ๋ง๋ค์ด์ง ํ๋กํผํฐ์ด๋ค.
flex ์์ฑ
์ ๊ธฐ๋ฐ์ผ๋ก ํ์ด์ง ์ ์ฒด์ ๋ ์ด์์์ ์ก์ง๋ง ์ด์ ์๋ float
๋ฅผ ์ฌ์ฉํด ๋ ์ด์์์ ์งฐ๋ค๋ ์ฌ์ค! -HOW TO USEโโ
float ์์ฑ
์๋left, right, none
๊ฐ์ด๋ฐ ํ๋๋ฅผ ๊ฐ์ผ๋ก ์ค ์ ์๋ค. -float ์์ฑ
์ ๊ฐ์ง ์์๋ ๋ถ๋ชจ๊ฐ ๋์ด๋ฅผ ์ธ์งํ ์ ์์ด์ ๋ถ๋ชจ๋ฅผ ๋ฒ์ด๋๋ ํ์์ด ๋ฐ์ํ๋ค.
float
์ ๋ค์ ํ์์ ํด๊ฒฐํ๊ธฐ ์ํดclear ์์ฑ
์ด ํ์ํ๋ฐ float ์์ ์์ ์ฑ์์ง๋ ์์๋ค์๊ฒ ์ ์ฉํ๋ ํ๋กํผํฐ์ด๋ค.
-HOW TO SOLVEโโ
- ๋ถ๋ชจ์ div์ ๋ง์ง๋ง์ ์๋ฌด ํ๊ทธ ๋ฃ์ ๋ค
claer:both
์ ๋ฃ์ด์ค๋ค. ๋จ, HTML์ฝ๋๋ฅผ ๋ ์ ๋ ฅํ๋ ๋ถ๋ด์ด ์๋คใ .- ์ฃผ๋ก ์ฌ์ฉ ๋ฐฉ์์ผ๋ก ๋ถ๋ชจ div์
overflow: hidden;
์ ๋ฃ์ด์ฃผ๋ ๊ฒ์ด๋ค.- ๋ถ๋ชจ div
float
์ํค๋ฉด ์์์ float ๋์ด๋ฅผ ์ธ์งํ์ฌ ๊ทธ๋งํผ ๋์ด๋ฅผ ์ฐจ์งํ์ง๋ง **float
์ด ๋์ด๋ฒ๋ฆฌ๋ฉด์block
์์์ ์ฑ์ง์ด ์์ด์ ธ๋ฒ๋ คwidth :100%
๋ฅผ ์ถ๊ฐํด์ค์ผํ๋ค.
ํ๋กํผํฐ Position
์ ๊ฐ์ ์ข
๋ฅ 1>relative
, 2>absolute
, 3>fixed
์ ๊ฐ๊ฐ์ ํน์ง(1>์๊ธฐ ์์ ๊ธฐ์ค์ผ๋ก ์ด๋, 2> ๋ถ๋ชจ(positon ๊ฐ์ด ์ ์ธ๊ฐ์ง ๊ฐ ์ค ํ๋๋ฉดinline, block
์ ์ฐจ์ด์ css์ display, float ์์ฑ
์ ์ฌ์ฉํ๋ฉด inline-block
ํํ๋ก ๋ง๋ค ์ ์๋ค๋ ๊ฒ๊น์งfloat
๋ ์ด๋ฏธ์ง ์ฃผ๋ณ์ ํ
์คํธ๋ก ๊ฐ์ธ๊ธฐ ์ํ ํ๋กํผํฐ๋ก ์ฌ์ฉํ๋ฉฐ ์์์ ๋ถ๋ชจ์ ๋์ด์ธ์ง ๋ชปํ์ฌ ๋ถ๋ชจ๋ฅผ ๋ฒ์ด๋ฌ์ ๋ ๋ณดํต overflow:hidden
์ผ๋ก ํด๊ฒฐํ๋ค!
- WeCode replit ์์คํ ๊ฐ์ ๋ด์ฉ ์ค:]