
๐ฅ ์์๋ฐ์ค์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ flex์์ฑ๋ค์ ๋ํด ์์๋ด ์๋ค.
โ๏ธ
โ๏ธ ์์๋ฐ์ค์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ flex์์ฑ๋ค
์๋ ์์ฑ๋ค์ ๋ถ๋ชจ ์ปจํ ์ด๋๊ฐ ์๋ ์์์ ์ง์ ์ ์ฉํ๋ ์์ฑ์ด๋ค.
์ด ์์ฑ๋ค์ flex์์ ์์๋ค์ ํฌ๊ธฐ๋ฅผ ์ ํ๋ ์์ฑ๋ค์ด๋ค.
๐ป 1. flex-basis
์์์์์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ์์ฑ์ด๋ค.
์์์์๋ฅผ ๊ฐ๋ก๋ก ๋ฐฐ์นํ๋ค๋ฉด flex-basis๊ฐ์ ์์์์์ ๋์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๊ณ ,
์์์์๋ฅผ ์ธ๋ก๋ก ๋ฐฐ์นํ๋ค๋ฉด flex-basis๊ฐ์ ์์์์์ ๋์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค.
flex-basis์ ๊ธฐ๋ณธ๊ฐ์ auto์ธ๋ฐ, ์ฌ๋ฌ๊ฐ์ง ์๋ฏธ๊ฐ ์๋ค.
๋ง์ฝ ์์์์์ width๊ฐ ์ง์ ๋์ด ์๋ค๋ฉด width๊ฐ์ด flex-basis์ ๊ฐ์ด ๋๋ค.
ํ์ง๋ง ๋ง์ฝ ์์์์์ width๊ฐ์ด ์๋ค๋ฉด ์ปจํ ์ธ ์์ญ๋งํผ๋ง flex-basis์ ์์ญ์ด ๋๋ค.
flex-basis์ ๋จ์๋ px, %, vw์ ๊ฐ์ ๋จ์๋ฅผ ์ฌ์ฉํด์ ๊ธฐ๋ณธ์์ญ์ ์ง์ ํ ์ ์๋ค.
๐ป 2. flex-grow
flex๊ฐ ์ ์ฉ๋ ์์์์๋ฅผ ํ์ฅํ๋ ์์ฑ์ด๋ค.
๋ถ๋ชจ๋ฐ์ค๊ฐ ์์๋ฐ์ค์ ์ดํฉ๋ณด๋ค ๋์ด๊ฐ ๋์ผ๋ฉด ๋น ๊ณต๊ฐ์ด ์๊ธด๋ค.
์ด๋ ๋จ์ ๊ณต๊ฐ์ ์ด๋ป๊ฒ ๋๋์ง ๊ฒฐ์ ํ๋ ์์ฑ์ด๋ค.
flex-grow์ ๊ธฐ๋ณธ๊ฐ์ 0์ด๋ฉฐ, 0๋ณด๋ค ํฐ ์ซ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถ๋ชจ๋ฐ์ค๋ฅผ ์ฑ์ด๋ค.(์์๊ฐ ์ฌ์ฉ๋ถ๊ฐ)
flex-shrink
์ปจํ ์ด๋์ ๋์ด๊ฐ ์ค์ด๋ค ๊ฒฝ์ฐ ๊ทธ ์์ ์๋ ์์๋ฐ์ค๋ค์ ์์ฐ์ค๋ฝ๊ฒ ์ค์ด๋ค๋ฉด์ ๋ถ๋ชจ์์ญ์ ์ฑ์ด๋ค.
flex-shrink์ ๊ธฐ๋ณธ๊ฐ์ด 1์ด๊ธฐ ๋๋ฌธ์ด๋ค.
flex-shrink์์ฑ์ ๋ถ๋ชจ์์ญ์ ๋ง์ถฐ ์์์์๋ฅผ ์ค์ด๋ ์์ฑ์ด๋ค.
๋ง์ฝ flex-shrink๋ฅผ 0์ผ๋ก ์ง์ ํ๋ฉด ์์์์์ ์ดํฉ์ด ๋ ๋๋๋ผ๋ ์์์์๋ฅผ ์ถ์ํ์ง ์๋๋ค.
๐ฅ ์์๋ฐ์ค์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ flex์์ฑ๋ค์ ๋ํด ์์๋ด ์๋ค. - 2
โ๏ธ
โ๏ธ flex
flex-basis, flex-grow, flex-shrink๋ฅผ ํ๊บผ๋ฒ์ ์ ์ธํ๋ ์์ฑ์ด๋ค.
์ธ ์์ฑ์ ์ ์ธํ ๋์๋ ์๋ฆฌ๊ฐ ์ง์ ๋์ด ์์ด ์์๋ฅผ ์ง์ผ์ค์ผ ํ๋ค.
์์๋ grow shrink basis์์ผ๋ก ์ ์ธํ๋ฉด ๋๊ณ 3๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ 0,1,auto์ด๋ค.
flex์์ฑ์ ๊ฐ์ผ๋ก ์ซ์๋ฅผ ํ๋๋ง ์ง์ ํ๋ค๋ฉด flex-grow์ ๊ฐ์ผ๋ก ์ฌ์ฉ๋๋ค.
๋๋จธ์ง ์์ฑ์ธ shrink๋ 1, basis๋ 0์ ์ฌ์ฉํ๋ค.
์ฆ, flex:1์ด๋ผ๊ณ ์ ์ธํ๋ฉด flex:1 1 0๊ณผ ๊ฐ๋ค.
flex-basis์ ๊ฐ์ด 0์ด๋ฉด ํ์ฅ, ์ถ์ํ๋ ์ํฉ์ ๋ฐ๋ผ ํญ๋ชฉ์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ๋น์จ๋๋ก ์ค์ ํ๋ค.
๋ง์ฝ flex์์ฑ๊ฐ์ผ๋ก none์ ์ฐ๋ฉด ์ปจํ ์ด๋ ์์์ ์์์์๋ฅผ ํ์ฅํ๊ฑฐ๋ ์ถ์ํ์ง ์๋๋ค.
๊ทธ๋ฌ๋ฉด ํฌ๊ธฐ๋ ๋ฏธ๋ฆฌ ์ ํด๋์ width, height๊ฐ์ ์ฌ์ฉํ๊ฑฐ๋ ๊ฐ์ด ์๋ค๋ฉด ๋ด์ฉ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ค.
์ฆ, flex:0 0 auto์ ๊ฐ๋ค.
๋ ์ด์์์์ ํน์ ๋ถ๋ถ๋ง ํ์ฅ, ์ถ์ํ์ง ์๋๋ก ๋ง๋ค๊ณ ์ถ์๋ ์ฌ์ฉํ๋ ๊ฐ์ด๋ค.
flex์์ฑ๊ฐ์ผ๋ก auto๋ฅผ ์ฌ์ฉํ๋ฉด ์์๋ฐ์ค์ ํฌ๊ธฐ๋ฅผ auto๋ก ์ค์ ํ๋ค.
์์์์์ width, height๊ฐ ๋ค์ด์์ผ๋ฉด ๊ทธ ๊ฐ์ ์ฌ์ฉํ๊ณ , ๋ง์ฝ width, height์์ฑ์ด ์์ผ๋ฉด ์ปจํ ์ธ ๊ฐ ์ฐจ์งํ ๋งํผ๋ง ์์ญ์ผ๋ก ์ฌ์ฉํ๋ค.
๋, grow shrink๋ ๊ฐ๊ฐ 1์ ๊ฐ์ ๊ฐ๋๋ค.
์ฆ, flex:auto๋ฉด flex: 1 1 auto์ ๊ฐ๋ค.
flex์์ฑ์ ๊ฐ์ผ๋ก ์ซ์๋ฅผ ๋๊ฐ๋ฅผ ์ง์ ํ๋ค๋ฉด ์ฒซ ๋ฒ์งธ ๊ฐ์ grow์ ์๋ฆฌ๊ณ ,
๋๋ฒ์งธ ๊ฐ์ ๋จ์๊ฐ ๋ถ์ด์์ผ๋ฉด basis๋ก ์ค์ ๋๊ณ ๋จ์๊ฐ ์์ผ๋ฉด shrink๊ฐ์ผ๋ก ์ค์ ๋จ.
[๊ธฐ๋ณธํ]
flex : grow shrink basis;
- ๊ฐ์ด ํ๋์ผ๋
flex : 1; /* flex : 1 1 0;*/
- ๊ฐ์ด ๋๊ฐ์ผ๋
flex : 1 150px; /* flex : 1 1 150px; */
flex : 1 1; /* flex : 1 1 0; */
๐ฅ flex๋ฐ์ค์ ์ฌ๋ฐฑ์ ์ง์ ํ๋ ๋ฐฉ๋ฒ
โ๏ธ
โ๏ธ flex๋ฐ์ค์ ์ฌ๋ฐฑ์ ์ง์ ํ๋ ๋ฐฉ๋ฒ
flex๊ฐ ์ค์ ๋ ์ปจํ ์ด๋์ justify-content๋ฅผ space-between์ผ๋ก ์ค์ ํ๋ฉด ์์ ์ฌ์ด์ ๋์ผํ ๊ฐ๊ฒฉ์ด ์ค์ ๋๋ค.
์ด๋ ์์ ์ฌ์ด์ ์ฌ๋ฐฑ์ ๋๋ฆฌ๊ณ ์ถ๋ค๋ฉด margin์ ์ฌ์ฉํ์ฌ ๋น์ด์๋ ์ฌ๋ฐฑ์ ๋ ํฌ๊ฒ ๋๋ฆด ์ ์๋ค.
margin์ ์ฌ์ฉํ ๋ ์ผ์ชฝ์ผ๋ก ์ญ ์ฌ๋ฐฑ์ ํฌ๊ฒ ๋๋ ค ์ปจํ ์ธ ๋ฅผ ๋ฐ๊ณ ์ถ๋ค๋ฉด
margin-left:auto๋ก ์ค์ ํ๊ณ , ์ค๋ฅธ์ชฝ์ผ๋ก ์ญ ๋ฐ๊ณ ์ถ๋ค๋ฉด margin-right:auto๋ฅผ ์ค์ ํ๋ค.
๐ฅ ์๋ฉํฑ ํ๊ทธ์ ๋ํด ์์๋ด ์๋ค
โ๏ธ
โ๏ธ ์๋งจํฑ ํ๊ทธ
์น ํ์ด์ง์ ๋ ์ด์์ ๊ตฌ์กฐ๋ฅผ ๋ง๋๋ ํ๊ทธ๋ก ์ง๊ด์ ์ธ์ด๋ฆ์ผ๋ก
๊ฐ๋ฐ์์ ์๊ฐ์ฅ์ ์ธ๋ค์๊ฒ ๊ตฌ์กฐ๋ฅผ ๋ ์ ํํ๊ฒ ์ ๋ฌํ๋ ์ญํ ์ ํ๋ค.
์๋งจํฑ ํ๊ทธ๋ ๋ชจ๋ block์์ฑ์ ๊ฐ์ง๋ฉฐ ๋ค์ ๋ซ๋ ํ๊ทธ๊ฐ ์๋ ์ผ๋ฐ ํ๊ทธ์ด๋ค.
[์ข ๋ฅ]
๐ป 1. <header>
์นํ์ด์ง ์ต์๋จ์ ์์นํ ์์ญ์ ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
๋ณดํต ๋ก๊ณ , ๋ฉ๋ด๋ฅผ ํฌํจํ๋ค.
๐ป 2. <nav>
๋ฉ๋ด์์ญ์ ์ง์ ํ ๋ ์ฌ์ฉํ๋ ํ๊ทธ. navํ๊ทธ๋ html๋ฌธ์ ์์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ณ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ง์ ํ ๋ id๋ก ๊ตฌ๋ถํ๋ค.
๐ป 3. <main>
mainํ๊ทธ๋ sectionํ๊ทธ๋ articleํ๊ทธ ๋ฑ ๋ณธ๋ฌธ ์์ญ์ ๋ฌถ์ด์ฃผ๋ ํ๊ทธ์ด๋ค.
์ฃผ์ ๋ณ๋ก ๋ฌถ์ด์ง ํฐ ์์ญ๋ค์ ๊ฐ์ธ๋ ์ปจํ ์ธ ์์ญ์ ๋งํ๋ค.
๐ป 4. <section>
์ปจํ ์ธ ๋ค์ ํฌํจํ๋ ํ๊ทธ์ด๋ค. ๋ณดํต ์ปจํ ์ธ ๋ค์ ์ฃผ์ ๋ณ๋ก ๋ฌถ์ ๋ ์ฌ์ฉํ๊ณ
sectionํ๊ทธ์๋ h1~h6๊ณผ ๊ฐ์ ์ ๋ชฉํ๊ทธ๊ฐ ํฌํจ๋๋ค.
5. <article>
article์ ์ฌ์ ์ ์ธ ์๋ฏธ๋ก ์ ๋ฌธ์ด๋ ์ก์ง์ '๊ธฐ์ฌ'๋ฅผ ๋ปํ๋ค.
<article>ํ๊ทธํผ ์น ์์ ์ค์ ๋ด์ฉ์ ์์ฑํ๋ ์์ญ์ผ๋ก ์ฐ์ธ๋ค.
์๋ฅผ ๋ค๋ฉด ์ด๋ฒคํธ ํ์ด์ง๋ ๋ธ๋ก๊ทธ์ ํฌ์คํธ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ์น ์ปจํ ์ธ ๊ฐ ์ด์ ํด๋น๋๋ค.
์ฌ๋ฌ ์ฌ์ฉ์์๊ฒ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ ํ์ด์ง๋ฅผ ์์ ํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
๋ํ articleํ๊ทธ ์์๋ section๊ฐ ๋ค์ด๊ฐ ์ ์๊ณ , sectionํ๊ทธ ์์๋ articleํ๊ทธ๊ฐ ๋ค์ด๊ฐ ์ ์๋ค. ์๋ก ํฌํจํ์ฌ ์ธ ์ ์๋ค.
๐ป 6. <aside>
์น ๋ฌธ์์์ ์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ ํน์ ํ๋จ์ ์ฌ์ด๋๋ฐ๊ฐ ํ์๋๋ ์์ญ์ด ์๋ค.
์ด๋ฐ ์ฌ์ด๋ ์์ญ์ ๋ง๋๋ ํ๊ทธ๊ฐ asideํ๊ทธ์ด๋ค.
asideํ๊ทธ์๋ ๊ด๊ณ ๋ ๋งํฌ ๋ชจ์๊ฐ์ ๊ฒ๋ค์ด ๋ค์ด๊ฐ๋ฉฐ ๋ฌธ์์ ๋ฉ์ธ๋ด์ฉ์ ์ํฅ์ ๋ฏธ์น์ง ์๋ ๋ด์ฉ๋ค์ด ๋ค์ด๊ฐ๋ค.
ํ์ ํ๊ทธ๊ฐ ์๋๋ฉฐ ์๋ต ๊ฐ๋ฅํ๋ค.
๐ป 7. footer
์น ๋ฌธ์์ ํ๋จ์ ์ ์๊ถ ํ์์ ๊ฐ์ ๋ด์ฉ๊ณผ ์ฐ๋ฝ์ฒ ์ ๋ณด ๋ฑ์ ํฌํจํ๋ ์์ญ์ด๋ค.
๋ณดํต ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํ ์ฌ์ดํธ๋ผ๋ฉด ๊ฐ์ธ์ ๋ณด์ฒ๋ฆฌ๋ฐฉ์นจ, ์ด์ฉ์ฝ๊ด ๋ฑ์ ๋ด์ฉ์ด ํฌํจ ๋ ์ ์๊ณ
๋ง์ฝ ์ฌ์ดํธ์์ ๊ตฌ๋งค๊ฐ ๊ฐ๋ฅํ๋ค๋ฉด ์ฌ์ ์ ๋ฑ๋ก๋ฒํธ, ๋ํ์์ ์ด๋ฆ, ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ์,
ํต์ ํ๋งค์ ์ ๊ณ ๋ฒํธ์ ๊ณ ๊ฐ์ผํฐ ์ ํ๋ฒํธ ๋ฑ์ด ํฌํจ๋์ด์ผ ํ๋ค.
๋ํ ์ฌ์ดํธ์์ ์ฌ์ฉ์์ ์์น ์ ๋ณด๋ฅผ ์์งํ๋ค๋ฉด ์์น์ ๋ณด ์ด์ฉ์ฝ๊ด๋ ํฌํจ๋๋ค.
ํธํฐ์๋ ์ฌ์ดํธ๋งต๊ณผ ๊ฐ์ ์ ์ฒด ๋ฉ๋ด๋ฅผ ํ์ํ๊ธฐ๋ ํ๋ค.