flex container ์์ ์๋ ์์์์๋ค ์ค์์ ํ ์์ดํ ๋ง ๋ฐ๋ก ์ ๋ ฌํ๊ณ ์ถ์ ๋
css์ margin ์์ฑ์ ์ฌ์ฉํ๋ฉด ๋ณต์กํ์ง ์๊ณ ์์ฝ๊ฒ ์์ดํ ์ ์ ๋ ฌํ ์ ์๋ค.
์์ ์ ๋๋ ์ด flex container์์ ๋๋์ด์ง ๋ ๋ถ๋ถ์ ์๊ฐํด์ 2๊ฐ์ container๋ฅผ ๋ ๋ง๋ค๊ณ , ๊ทธ 2๊ฐ์ ์ปจํ ์ด๋๋ฅผ space-between ์์ฑ์ ์ฃผ์ด ์ฌ์ด ๊ณต๊ฐ์ ๋์ด์ฃผ๋ ์์ผ๋ก ๊ฐ๋ฐํ์๋ค. ๐ฅฒ ๊ทธ๋ฐ๋ฐ ์๋ฌด๋๋ ์ด ๋ฐฉ๋ฒ์ด ๋๋ฌด๋๋ ๋นํจ์จ์ ์ธ๊ฑฐ ๊ฐ์ ์ฐพ์๋ณด๋ ์ด๋ฐ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ์์๋ค.
flex container์์ ์์์ค์์ ์ ๋ ฌ๋๊ณ ์ถ์ ๋ถ๋ถ์ ๋ฐ๋ ์์ฑ์ margin ๊ฐ์ auto๋ก ์ค๋ค.
์ด ์์ ์์ ๋ฐ์ ๋ฑ๋ถ์ฌ์ ์ ๋ ฌ์ํค๊ณ ์ถ์ผ๋ฏ๋ก margin-top ์์ฑ auto ๋ฅผ ์ฃผ๋ฉด ๋ง๋ฒ๊ฐ์ด ์ปจํ ์ด๋์ ์๋๋ถ๋ถ์ ๊ฐ์ ๋ถ๋๋ค.
.parent {
display: flex
}
.child: last-of-type {
margin-top: auto;
}
flex item์ margin auto ์์ฑ์ ์ค๋ค๋ ๊ฒ์, flex item ์๊ธฐ ์์ ์ margin auto๊ฐ ์ ์ฉ๋ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก flex container์์ ์ฌ์ ๊ณต๊ฐ์ ๋ฐ์ด๋ด๊ณ ์๊ธฐ์์ ์ ์์น์ํค๋ ๊ฒ์ด๋ค.
flex container์ ์ฌ๋ฐฑ ๊ณต๊ฐ์์์ ์์ฑ์ผ๋ก ์ง์ ๋ ํน์ margin ๋ฐฉํฅ(left, right, top, bottom)์ผ๋ก ์์ดํ ์์๊ฐ ์๊ธฐ์ margin ๊ณต๊ฐ์ ๋ํ ์ฐจ์งํ๋ค๊ณ ์ดํดํ ์๋ ์๋ค.
๋ฐ๋ผ์, flex item์ด margin-top: auto ๊ฐ์ ๊ฐ์ง๋ค๋ฉด ํ๋ ์ค ์ปจํ ์ด๋์ ํ๋จ์ ์์นํ ๊ฒ์ด๊ณ , margin-left: auto ๊ฐ์ ๊ฐ์ง๋ค๋ฉด ์ค๋ฅธ์ชฝ์ ์์นํ ๊ฒ์ด๋ค.
Reference
https://stackoverflow.com/questions/33924655/position-last-flex-item-at-the-end-of-container
https://css-tricks.com/the-peculiar-magic-of-flexbox-and-auto-margins/