Float vs Flex vs Grid - The-Next-Web-Research-Lab/the-next-web-research-lab.github.io GitHub Wiki
๋ ์ด์์์ ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. Float, Flex, Grid ์์๋ก ๋ ์ด์์์ ๋ฐฐ์นํ๋ ๋ฐฉ๋ฒ์ด ๋ฐ์ ๋์์ต๋๋ค. ๊ฐ ๊ธฐ์ ๋ค์ ์ฐจ์ด์ ๊ฐ์ฅ ์ต๊ทผ์ ๋ง๋ค์ด์ง Grid๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ค ์ฅ์ ์ด ์๋์ง ์ ๋ฆฌํ์ต๋๋ค.
6 Grid๋ฅผ 1:3:2๋ก ๋๋๊ณ ๊ฐ๊ฐ ๊ฐ์ ์ฌ๋ฐฑ์ ๊ฐ์ง ๋ ์ฝ๋๋ฅผ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค.

Float๋ก ๊ฐ๋ฐํ ๋๋ ๊ฐ๋ก ์ฌ์ด์ฆ๋ฅผ ์ง์ ๊ณ์ฐํด์ ์์ฑํด์ผ ๋๊ณ , overflow: hidden๊ณผ ๊ฐ์ ํน๋ณํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ์ฝ๋ฉ์ ํด์ผ ๋์ต๋๋ค.
<div class="box">
<div class="item">1/6</div>
<div class="item">3/6</div>
<div class="item">2/6</div>
</div>.box {overflow: hidden}
.item {float: left}
.item:nth-of-type(1) {
width: calc((100% - 20px) * 1 / 6)
}
.item:nth-of-type(2) {
width: calc((100% - 20px) * 3 / 6);
margin: 0 10px
}
.item:nth-of-type(3) {
width: calc((100% - 20px) * 2 / 6)
}Flex๊ฐ ๋์ ์ด ๋๋ฉด์ ์ข ๋ ์ถ์์ ์ผ๋ก ๊ธฐ์ ์ด ๊ฐ๋ฅํ์ต๋๋ค. ์์ ์๋ฆฌ๋จผํธ์ 1:3:2 ๋น์จ์ ๊ธฐ์ ํ๋ฉด ๋ ์ด์์์ ์ง์ ๊ฐ๋ฅํฉ๋๋ค.
<div class="box">
<div class="item">flex(1)</div>
<div class="item">flex(3)</div>
<div class="item">flex(2)</div>
</div>.box {display: flex;}
.item:nth-of-type(1) {flex: 1}
.item:nth-of-type(2) {
flex: 3;
margin: 0 10px
}
.item:nth-of-type(3) {flex: 2}Grid๋ Flex์ฒ๋ผ ์ถ์์ ์ผ๋ก ๋น์จ์ ์์ฑ ๊ฐ๋ฅํ๊ณ , Flex์ ๋ค๋ฅด๊ฒ ๋ถ๋ชจ ์ชฝ์์ ์์ฑ ๊ฐ๋ฅํฉ๋๋ค. ์์๋ค์ ๋ ์ด์์์ ๋ถ๋ชจ์์ ์กฐ์์ด ๊ฐ๋ฅํ๋ฏ๋ก ๋ ์ด์์ ์ฝ๋ฉ์ ํ ๋ถ๋ถ์์ ์์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
<div class="box">
<div>1fr</div>
<div>3fr</div>
<div>2fr</div>
</div>.box {
display: grid;
grid-template-columns: 1fr 3fr 2fr;
grid-gap: 10px
}