
Flex๋ ํ๊ณผ ์ด ํํ๋ก ๋ ์ด์์์ ์ฝ๊ฒ ๋ฐฐ์นํ ์ ์๋ ๋ฉ์๋์ด๋ค.Flexbox๋Flexible Box๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํ๋ค.flexbox๋Flex Container์Flex Item์ผ๋ก ๊ตฌ์ฑ๋์ด์๋ค.Flex์ ์์ฑ๋ค์ ์ปจํ ์ด๋์ ์ ์ฉํ๋ ์์ฑ, ์์ดํ ์ ์ ์ฉํ๋ ์์ฑ ์ด ๋๊ฐ์ง๋ก ๋๋์ด์ง๋ค. ์ปจํ ์ด๋๊ฐFlex์ ์ํฅ์ ๋ฐ๋ ์ ์ฒด ๊ณต๊ฐ์ด๊ณ , ์ค์ ๋ ์์ฑ์ ๋ฐ๋ผ ๊ฐ๊ฐ์ ์์ดํ ๋ค์ด ์ด๋ ํ ํํ๋ก ๋ฐฐ์น๋๋ ๊ฒ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด๋๋ค.

display: flex;๋ ๋ด๊ฐ ์ดcontainer๋ฅผflex๋ก ์ฌ์ฉํ๊ฒ ๋ค๋ผ๊ณ ์ ์ธํด์ฃผ๋ ์ญํ ์ด๋ค.
.container {
display: flex;
}

flex์item๋ค์ ๊ฐ๋ก๋ฐฉํฅ์ผ๋ก ๋ฐฐ์น๋๊ณ , ์์ ์ด ๊ฐ์ง ๋ด์ฉ๋ฌผ์width๋งํผ๋ง ์ฐจ์งํ๊ฒ ๋๋ค.height๋container์ ๋์ด๋งํผ ๋์ด๋๊ฒ ๋๋ค.

์ฌ๊ธฐ์
item์ด ๋ฐฐ์น๋ ๋ฐฉํฅ์ ์ถ์ ๋ฉ์ธ์ถ(Main Axis), ๋ฉ์ธ์ถ๊ณผ ์์ง์ธ ์ถ์ ๊ต์ฐจ์ถ(Cross Axis)์ด๋ผ๊ณ ํ๋ค.
flex-direction ๋ฐฐ์น ๋ฐฉํฅ ์ค์
flex-direction์item๋ค์ด ๋ฐฐ์น๋๋ ์ถ์ ๋ฐฉํฅ์ ๊ฒฐ์ ํ๋ ์์ฑ์ด๋ค. ๊ธฐ๋ณธ๊ฐ์row์ด๋ค.
.container {
flex-direction: row;
/* flex-direction: column; */
/* flex-direction: row-reverse; */
/* flex-direction: column-reverse; */
}

flex-wrap ์ค๋๊น ์ฒ๋ฆฌ ์ค์
container๊ฐ ๋ ์ด์item๋ค์ ํ ์ค์ ๋ด์ ๊ณต๊ฐ์ด ์์ ๋,item์ ์ค๋ฐ๊ฟ์ ๊ฒฐ์ ํ๋ ์์ฑ์ด๋ค. ๊ธฐ๋ณธ๊ฐ์nowrap์ด๋ค.
.container {
flex-wrap: nowrap;
/* flex-wrap: wrap; */
/* flex-wrap: wrap-reverse; */
}

flex-flow
flex-direction๊ณผflex-wrap์ ํ๊บผ๋ฒ์ ์ง์ ํ ์ ์๋ ๋จ์ถ ์์ฑ์ด๋ค.flex-direction๊ณผflex-wrap์์ผ๋ก ํ ์นธ ๋์ด์ฃผ๊ณ ์์ฑํ๋ฉด ๋๋ค.
.container {
flex-flow: row wrap;
/* ์๋์ ๋ ์ค์ ์ค์ฌ ์ด ๊ฒ */
/* flex-direction: row; */
/* flex-wrap: wrap; */
}
justify-content ๋ฉ์ธ์ถ ๋ฐฉํฅ ์ ๋ ฌ๋ฉ์ธ์ถ ๋ฐฉํฅ์ผ๋ก
item๋ค์ ์ ๋ ฌํ๋ ์์ฑ์ด๋ค. ๊ธฐ๋ณธ๊ฐ์flex-start์ด๋ค.
.container {
justify-content: flex-start;
/* justify-content: flex-end; */
/* justify-content: center; */
/* justify-content: space-between; */
/* justify-content: space-around; */
/* justify-content: space-evenly; */
}

align-items ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ์์ง์ถ ๋ฐฉํฅ์ผ๋ก
item๋ค์ ์ ๋ ฌํ๋ ์์ฑ์ด๋ค. ๊ธฐ๋ณธ๊ฐ์stretch์ด๋ค.
.container {
align-items: stretch;
/* align-items: flex-start; */
/* align-items: flex-end; */
/* align-items: center; */
/* align-items: baseline; */
}
justify-content: center;
align-item: center;
๋ฅผ ํด์ฃผ๋ฉด,
item์ ํ๊ฐ์ด๋ฐ์ ๋์ ์ ์๋ค.

align-content ์ฌ๋ฌ ํ ์ ๋ ฌ
flex-wrap: wrap;์ด ์ค์ ๋ ์ํ์์,item๋ค์ ํ์ด 2์ค ์ด์ ๋์์ ๋์ ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ์ ๊ฒฐ์ ํ๋ ์์ฑ์ด๋ค. ๊ธฐ๋ณธ๊ฐ์stretch์ด๋ค.
.container {
flex-wrap: wrap;
align-content: stretch;
/* align-content: flex-start; */
/* align-content: flex-end; */
/* align-content: center; */
/* align-content: space-between; */
/* align-content: space-around; */
/* align-content: space-evenly; */
}
flex-basis ์ ์ฐํ ๋ฐ์ค์ ๊ธฐ๋ณธ ์์ญ
flex-basis๋item์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ค. (flex-direction์ด row์ผ ๋๋ ๋๋น, column์ผ ๋๋ ๋์ด)flex-basis์ ๊ฐ์ผ๋ก๋width๋height์ ์ฌ์ฉํ๋ ๊ฐ์ข ๋จ์๊ฐ ๋ค์ด๊ฐ ์ ์๊ณ , ๊ธฐ๋ณธ๊ฐauto๋ ํด๋นitem์width๊ฐ์ด ๋ค์ด๊ฐ๋ค.content๋ ์ปจํ ์ธ ์ ํฌ๊ธฐ๋กwidth๋ฅผ ๋ฐ๋ก ์ค์ ํ์ง ์์ ๊ฒฝ์ฐ์ ๊ฐ๋ค.
.item
flex-basis: auto; /* ๊ธฐ๋ณธ๊ฐ */
/* flex-basis: 0; */
/* flex-basis: 50%; */
/* flex-basis: 300px; */
/* flex-basis: 10rem; */
/* flex-basis: content; */
}
flex-grow ์ ์ฐํ๊ฒ ๋๋ฆฌ๊ธฐ
flex-grow๋item์ด flex-basis์ ๊ฐ๋ณด๋ค ์ปค์ง ์ ์๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ์์ฑ์ด๋ค. 0๊ณผ 0๋ณด๋ค ํฐ๊ฐ์ด ๋ค์ด๊ฐ๋ฉฐ, ๊ธฐ๋ณธ๊ฐ์ 0์ด๋ค.flex-grow์ ๋ค์ด๊ฐ๋ ์ซ์์ ์๋ฏธ๋item๋ค์flex-basis๋ฅผ ์ ์ธํ ์ฌ๋ฐฑ ๋ถ๋ถ์flex-grow์ ์ง์ ๋ ์ซ์์ ๋น์จ๋ก ๋๋์ด ๊ฐ์ง๊ฒ ๋๋ค.
.item {
flex-grow: 1;
/* flex-grow: 0; */ /* ๊ธฐ๋ณธ๊ฐ */
}
/* 1:2:1์ ๋น์จ๋ก ์ธํ
ํ ๊ฒฝ์ฐ */
.item:nth-child(1) { flex-grow: 1; }
.item:nth-child(2) { flex-grow: 2; }
.item:nth-child(3) { flex-grow: 1; }

flex-shrink ์ ์ฐํ๊ฒ ์ค์ด๊ธฐ
flex-shrink๋flex-grow์ ์์ ์ด๋ฃจ๋ ์์ฑ์ผ๋กitem์ดflex-basis์ ๊ฐ๋ณด๋ค ์์์ง ์ ์๋์ง๋ฅผ ๊ฒฐ์ ํ๋ค. 0๊ณผ 0๋ณด๋ค ํฐ๊ฐ์ด ๋ค์ด๊ฐ๋ฉฐ, ๊ธฐ๋ณธ๊ฐ์ 1์ด๋ค.flex-shrink๋ฅผ 0์ผ๋ก ์ธํ ํ๋ฉด**item์ ํฌ๊ธฐ๊ฐflex-basis๋ณด๋ค ์์์ง์ง ์๊ธฐ** ๋๋ฌธ์ ๊ณ ์ ํญ์ ์ปฌ๋ผ์ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ค.
.item {
flex-basis: 150px;
flex-shrink: 1; /* ๊ธฐ๋ณธ๊ฐ */
}
.container {
display: flex;
}
.item:nth-child(1) {
flex-shrink: 0;
width: 100px;
}
.item:nth-child(2) {
flex-grow: 1;
}
flex ์ ์ฐํ๊ฒ ์ค์ด๊ธฐ
flex -growflex-shrinkflex-basis๋ฅผ ํ๊บผ๋ฒ์ ์ง์ ํ ์ ์๋ ๋จ์ถ ์์ฑ์ด๋ค.
.item {
flex: 1;
/* flex-grow: 1; flex-shrink: 1; flex-basis: 0%; */
flex: 1 1 auto;
/* flex-grow: 1; flex-shrink: 1; flex-basis: auto; */
flex: 1 500px;
/* flex-grow: 1; flex-shrink: 1; flex-basis: 500px; */
}
๋ง์ฝ,
flex-basis๊ฐ์ ๋ค์๊ณผ ๊ฐ์ด 0์ผ๋ก ๋๋ค๋ฉด ๊ธฐ๋ณธ ์ ์ ํฌ๊ธฐ๊ฐ 0์ด ๋๊ณ , ๊ฒฐ๊ตญ ์ ์ฒด ํฌ๊ธฐ๋ฅผ 1:2:1 ๋ก ๋๋์ด ๊ฐ์ ธ์ ์์ญ ์์ฒด์ ํฌ๊ธฐ๊ฐ ์ ํํ 1:2:1์ด ๋๋ค.
.item {
flex: 1 1 0;
}
.item:nth-child(2) {
flex: 2 1 0;
}

align-self ์์ง์ถ์ผ๋ก item์ ๋ ฌ
align-items์item๋ฒ์ ์ผ๋ก ํด๋นitem์ ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ์ด๋ค. ๊ธฐ๋ณธ๊ฐ์auto๋ก ๊ธฐ๋ณธ์ ์ผ๋กalign-items์ค์ ์ ์์๋ฐ๋๋ค.
.item {
align-self: auto;
/* align-self: stretch; */
/* align-self: flex-start; */ <-CCC ์ค์
/* align-self: flex-end; */
/* align-self: center; */ <-BBB ์ค์
/* align-self: baseline; */
}

order ๋ฐฐ์น ์์๊ฐ
item๋ค์ ์๊ฐ์ ๋์ด ์์๋ฅผ ๊ฒฐ์ ํ๋ค.html์์ฒด์ ๊ตฌ์กฐ๋ฅผ ๋ฐ๊พธ๋๊ฒ์ด ์๋๋ฏ๋ก, ์๊ฐ์ฅ์ ์ธ๋ถ๋ค์ด ์คํฌ๋ฆฐ ๋ฆฌ๋๋ก ํ๋ฉด์ ์ฝ์๋๋ ์๋ฏธ๊ฐ ์์ด์ง๋ ์์ฑ์ด๋ฏ๋ก ์ฃผ์ํ๋ค.
.item:nth-child(1) { order: 3; } /* A */
.item:nth-child(2) { order: 1; } /* B */
.item:nth-child(3) { order: 2; } /* C */

z-index์ซ์๊ฐ ํด์๋ก ์๋ก ์ฌ๋ผ์จ๋ค.
.item:nth-child(2) {
z-index: 1;
transform: scale(2);
}
/* z-index๋ฅผ ์ค์ ์ํ๋ฉด 0์ด๋ฏ๋ก, 1๋ง ์ค์ ํด๋ ๋๋จธ์ง ์์ดํ
์ ๋ณด๋ค ์๋ก ์ฌ๋ผ์จ๋ค */
