1. float ์๋ฏธ2. ๊ธฐ๋ณธ ๊ฐ๋
3. ๋ธ๋ก ์์ฑ ํ๊ทธ vs float ์์ฑ ํ๊ทธ 4. float:left, float:right5. float ์์ฑ์ ๋ฌธ์ ์
ย
1. float ์๋ฏธ
float
์ '๋์ฐ๋ค'๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ float ์ ๋ ฌ์ ๋ค์ํ ๊ฐ์ฒด๋ฅผ ๋์์ ์ ๋ ฌ์ ํ๋ ์์ฑ์ ๊ฐ์ง๋๋ค. ย
2. ๊ธฐ๋ณธ ๊ฐ๋
์๋
float
์์ฑ์ ์๋ ์ฌ์ง์ฒ๋ผ ๊ทธ๋ฆผ์ ๋ฐ๋ผ ํ๋ฅด๋ ํ
์คํธ ๋ ์ด์์์ ์น์์ ๊ตฌํํ๊ธฐ ์ํด ํ์ํ ์์ฑ์
๋๋ค.<img src="https://t1.daumcdn.net/cfile/tistory/235B2F485958F12129" alt=""> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nulla, ad, autem quaerat sed impedit cupiditate tenetur recusandae facere, alias ab nihil nisi eligendi eaque ea molestiae dolore accusantium repellat maiores?
img { width:200px; float:left; }
ย
ํ์ง๋ง ์ผ์ชฝ ํน์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ๋ ฌ์ด ๋๋ ํน์ฑ ๋๋ถ์ ํ์ฌ๋ <div>, <p>, <table>๊ณผ ๊ฐ์ ๋ธ๋ก ์์ฑ์ ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ์ ๋ ฌํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. float ์ ๋ ฌ์ ํฌ๊ฒ ๋ ๊ฐ์ง ์์ฑ์ด ์์ต๋๋ค. ์ข์ธก ์ ๋ ฌ, ์ฐ์ธก ์ ๋ ฌ์ด ์์ผ๋ฉฐ ์ค์ ์ ๋ ฌ์ ์์ต๋๋ค. ํ์ง๋ง ๋ถ๊ฐ๋ฅํ ๊ฒ์ ์๋๋๋ค. margin ์์ฑ์ ์ด์ฉํด์ ํ ์ ์์ผ๋ฉฐ ์ข์ธก, ์ฐ์ธก ์ ๋ ฌ์ ์ค๋ช
ํ ํ์ ์์ ๋ฅผ ํตํด ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
ย
3. ๋ธ๋ก ์์ฑ ํ๊ทธ vs float ์์ฑ ํ๊ทธ
float ์ ๋ ฌ์ ์์๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ธฐ ์ด์ ์ ๋ธ๋ก ์์ฑ ํ๊ทธ์ ์ฑ์ง๊ณผ float ์์ฑ์ ์ฑ์ง์ ๋ํด ์ค๋ช
๋๋ฆฌ๊ฒ ์ต๋๋ค.
ย
๋ธ๋ก ์์ฑ ํ๊ทธ๋ ์๋์ ๊ฐ์ด ๊ฐ๋กํญ ์ ์ฒด์ ๋์ด๋ฅผ ๊ฐ์ง๋ ์์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ย
1๋ฒ์งธ์ float:left ์์ฑ์ ์ค ๊ทธ๋ฆผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๊ทธ๋ฆผ๊ณผ ๋ค๋ฅธ ์ ์ด ๋ณด์ด์ญ๋๊น? float ์์ฑ์ ์ฃผ๋ฉด '1๋ฒ์งธ'์ ํด๋นํ๋ ๊ณต๊ฐ๋งํผ๋ง ์ฐจ์งํ๊ณ ๋ค๋ฅธ ์์์ ๋ํด์ ์ผ์ชฝ์ผ๋ก ๋ฐฐ์น๋ฉ๋๋ค. ์ค๋ฅธ์ชฝ์ ๋ํด์๋ ๋์ผํ๊ฒ ์ ์ฉ๋ฉ๋๋ค.
ย
4. float:left
, float:right
์ง๊ธ๋ถํฐ๋ ์ข์ธก, ์ฐ์ธก ์ ๋ ฌ์ ๋ํด์ ์ค๋ช
๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋จผ์ ์ข์ธก ์ ๋ ฌ์ ๋ํ ์ค๋ช
์
๋๋ค. ์ ์์ ์์๋ ๋ณด๋ค์ํผ float:left์ ์ฑ์ง์ ๋ธ๋ก ๋ฐ์ค์ ํด๋นํ๋ ๋งํผ์ ๊ณต๊ฐ๋ง ์ฐจ์งํ๊ณ ๋๋จธ์ง ๋ด์ฉ์ ๋ฐ์ค ์ค๋ฅธ์ชฝ์ ์์นํ๋ฉฐ ์์์ ์๋์ ๋ฐฉํฅ์ ํ๋ฆ์ ๊ฐ์ง๋๋ค.
<!doctype html> <html> <head> <style> img{ width:300px; float:left; } </style> </head> <body> <img src="/computer.jpg" alt=""> float:left ์์ ์ ๋๋ค. </body> </html>
์๋ ์ผ์ชฝ ํ๋ฉด์ ์ด๋ฏธ์ง์ float:left ์์ฑ, ์ค๋ฅธ์ชฝ ํ๋ฉด์ float:right ์์ฑ์ ๋ ๊ฒฐ๊ณผ์
๋๋ค.
ย
5. float ์์ฑ์ ๋ฌธ์ ์
๋ค์ํ ๊ฐ์ฒด๋ฅผ ๊ฐํธํ๊ฒ ๋์์ ์ ๋ ฌํ๋ float ์ ๋ ฌ์๋ ๋ฌธ์ ์ ์ด ์กด์ฌํฉ๋๋ค. ์ ์ฒด๋ฅผ ๊ฐ์ธ๋ ์ปจํ
์ด๋๊ฐ ์์ ์์๋ค์ด ๋ชจ๋ float ์์ฑ์ ๊ฐ์ง ๋ ์์ ์์๋ค์ ๋์ด๋ฅผ ๋ฐ์ํ์ง ๋ชปํ๊ณ ์์ ์ ๋์ด๋งํผ๋ง ๋ณด์ฌ์ฃผ๋ ๋ฌธ์ ์ ์ด ์์ต๋๋ค.
์๋ ์ฝ๋๋ float ์์ฑ์ ์ค์ ํ์ง ์์ ์ํฉ์
๋๋ค.
<!doctype html> <html> <head> <style> .wrap{ border: 4px solid blue; } .content{ margin: 5px; height: 20px; border: 2px solid green; } </style> </head> <body> <div class="wrap"> <div class="content">๋ด์ฉ1</div> <div class="content">๋ด์ฉ2</div> </div> </body> </html>
๋ค์์ float ์์ฑ์ ์ค์ ํ ์ฝ๋์ ๊ฒฐ๊ณผ์
๋๋ค. ์์ํํ
float ์์ฑ์ ์ค์ ํ๋ฉด ์์ ์์๋ค์ ๋ถ ๋์์ง ์ํ์ด๊ธฐ ๋๋ฌธ์ ๋ถ๋ชจ ์์๊ฐ ์์ ๋ฐ์ค๋ค์ ์กด์ฌ๋ฅผ ์ธ์ํ์ง ๋ชปํฉ๋๋ค. ๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ต๋๋ค.
<!doctype html> <html> <head> <style> .wrap{ border: 4px solid blue; } .content{ float: left; margin: 5px; height: 20px; border: 2px solid green; } </style> </head> <body> <div class="wrap"> <div class="content">๋ด์ฉ1</div> <div class="content">๋ด์ฉ2</div> </div> </body> </html>
์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ๊ฒ ์กด์ฌํฉ๋๋ค.
ย
- ๋ถ๋ชจ ์์์ overflow ์์ฑ์ ์ถ๊ฐํฉ๋๋ค.
overflow์ ๋์น๋ ํ์์ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ๋์ณํ๋ฅด๋ ์์ ์์๋ฅผ ํฌํจํ๋๋ก ๋ถ๋ชจ ์์์ ๋์ด๋ฅผ ๋์ฌ์ค๋๋ค. ์ฆ .wrap ๋ถ๋ถ์
overflow:hidden;
ํน์ overflow:scroll;
๋ฑ์ ํ์ํ overflow ์์ฑ์ ์ถ๊ฐํ์ฌ ํด๊ฒฐํฉ๋๋ค..wrap { border: 4px solid blue; overflow: hidden; }
ย
- ๋ถ๋ชจ ์์์ ๋์ด ๊ฐ์ ์ง์ ์ง์ ํด์ค๋๋ค.
๊ฐ์ ๋ก ๋ถ๋ชจ์ ๋์ด๋ฅผ ์ฃผ์ด ๋๋ฆฌ๋ ๊ฒ์ด๋ฏ๋ก ์ข์ ๋ฐฉ๋ฒ์ ์๋๋๋ค. ๋ง์ฝ ์์ ์์์ ๋์ด๊ฐ ๋ณ๊ฒฝ ๋์์ ๊ฒฝ์ฐ ํน์ ์์ ์์๊ฐ ์ถ๊ฐ๋์ด ๋ถ๋ชจ ์์์ ๋์ด ์์ ์ด ๋ถ๊ฐํผํ ๊ฒฝ์ฐ๋ง๋ค ๋ถ๋ชจ์ ๋์ด๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ฏ๋ก ๋นํจ์จ์ ์
๋๋ค.
.wrap { border: 4px solid blue; height: 35px; }
์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์์ ํ๋ฉด ์๋์ ๊ฐ์ด ํด๊ฒฐ๋ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค.
ย
- clear ์์ฑ ์ฌ์ฉ
float
์ด ์ฌ์ฉ๋ ์์์ ๋ฐ๋ก ๋ค์ ํ์ ์์์ clear
์์ฑ์ ์ฌ์ฉํฉ๋๋ค. clear
์์ฑ์ left, right, both ์ธ ๊ฐ์ง ๊ฐ์ ๊ฐ์ง๋ฉฐ float
์ด ์ฌ์ฉ๋ ์์๊ฐ ์ ๋ ฌ๋ ๋ฐฉํฅ์ ๋ฐ๋ผ ์ ์ ํ ์ฌ์ฉํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.<div class="first"></div> <div class="second"></div>
div{ width:100px; height:100px; background-color:black; } .first{ float:left; } .second{ clear:both; /* both ์์ฑ์ left, right ๋ ๋ค ํด๋ฆฌ์ด ํฉ๋๋ค. */ background-color:pink; }
ย
- clear-fix ๋ฐฉ๋ฒ
CSS์
::after
๊ฐ์์์๋ก ํด๊ฒฐํฉ๋๋ค. ๋ถ๋ชจ ์์์ ๊ฐ์์ผ๋ก ๋ง์ง๋ง child ์์๋ฅผ ๋ง๋ถ์ฌ์ ๋ถ๋ชจ ์์์ธ wrap์ด ์์ ์์๋ค์ ์์๋ณด๊ฒ ํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ clear-fix ๋ผ๊ณ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ถ๋ชจ ์์์ ์ดํ์ float์์๋ฅผ ๋ฐ๋ผ์ค๋ ํ์๊น์ง ๋ชจ๋ ๋ค ํด๊ฒฐ๋ฉ๋๋ค. display:block;
๋์ display:table;
์ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค..wrap::after { content:''; display:block; clear:both; }
ย