๐ ์ฐธ๊ณ ์๋ฃ
1๋ถ์ฝ๋ฉ Flex
MDN Flexbox
ํ๋ ์ค ๋ฐ์ค๋ ํ ๋๋ ์ด์ ์ฃผ์ถ์ผ๋ก ์ค์ ํ์ฌ ์์๋ฅผ ๋ฐฐ์น ๋ฐ ์ ๋ ฌํ๋ 1์ฐจ์ ๋ ์ด์์ ๋ฐฉ์์ด๋ค.
โ Flex ์์ฑ
โ flexbox ์ง์
/* ๊ธฐ๋ณธ : ์ธ๋ผ์ธ ๋ ๋ฒจ ์์ */
display: flex;
/* ์ธ๋ผ์ธ ๋ธ๋ก ๋ ๋ฒจ ์์ */
display: inline-flex;
โ flexbox ์ถ
โ๏ธ flex-direction
.container {
/* ๊ฐ๋ก */
flex-direction: row;
/* ์ธ๋ก */
flex-direction: column;
/* ์ญ์ ๊ฐ๋ก (๋ค์์ ๋ถํฐ) */
flex-direction: row-reverse;
/* ์ญ์ ์ธ๋ก (๋ค์์ ๋ถํฐ) */
flex-direction: column-reverse;
}
โ๏ธ flex-wrap
.container {
/* ๊ธฐ๋ณธ๊ฐ (์ค๋ฐ๊ฟ ์์, ์์ดํ
๋ค์ด ์์ ธ๋์ด) */
flex-wrap: nowrap;
/* ์ค๋ฐ๊ฟ (๋์น๋ฉด ์๋๋ก ์ค๋ฐ๊ฟํด์ ์ถ๋ ฅ) */
flex-wrap: wrap;
/* ์ญ์ ์ค๋ฐ๊ฟ (์ค๋ฐ๊ฟ์ ํ์ง๋ง ์ญ์์ผ๋ก ๋ฐฐ์น) */
flex-wrap: wrap-reverse;
}
โ๏ธ flex-flow
flex-direction
๊ณผ flex-wrap
์ ๋์์ ์ ์ฉflex-direction flex-wrap
.container {
/* flex-direction flex-wrap */
flex-flow: row wrap;
}
โ๏ธ justify-content
.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
justify-content
์ ์์ง ๋ฐฉํฅ์ ์ ๋ ฌ.container {
/* ์์ดํ
๋ค์ ์์ง๋ฐฉํฅ์ผ๋ก ๋๋ฆผ */
align-items: stretch;
/* ์์ดํ
์ ์์์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ */
align-items: flex-start;
/* ์์ดํ
๋ค์ ๋์ ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ */
align-items: flex-end;
/* ์์ดํ
๋ค ๊ฐ์ด๋ฐ ์ ๋ ฌ */
align-items: center;
/* ์์ดํ
๋ค์ ํ
์คํธ ๋ฒ ์ด์ค๋ผ์ธ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ */
align-items: baseline;
}
โ๏ธ align-content
flex-wrap: wrap;
์ด ์ค์ ๋ ์ํ์์, ์์ดํ
๋ค์ ํ์ด 2์ค ์ด์ ๋์์ ๋์ ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ์ ๊ฒฐ์ ํ๋ ์์ฑ.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-direction
์ด row์ผ ๋ ๋๋น, column์ผ ๋๋ ๋์ด.item {
/* ๊ธฐ๋ณธ๊ฐ */
flex-basis: auto;
/* ์์ฑ ๋ถ์ฌ */
flex-basis: 0;
flex-basis: 50%;
flex-basis: 300px;
flex-basis: 10rem;
flex-basis: content;
}
โ๏ธ flex-grow
0
๋ณด๋ค ํฐ ๊ฐ์ด ์ธํ
์ด ๋๋ฉด ํด๋น ์์ดํ
์ด ์ ์ฐํ(flexible) ๋ฐ์ค๋ก ๋ณํ๊ณ ์๋์ ํฌ๊ธฐ๋ณด๋ค ์ปค์ง๋ฉฐ ๋น ๊ณต๊ฐ์ ๋ฉ์ฐ๊ฒ ๋๋ค.0
, ๋ฐ๋ก ์ ์ฉํ๊ธฐ ์ ๊น์ง๋ ์์ดํ
์ด ๋์ด๋์ง ์๋๋ค.flex-babis
๋ฅผ ์ ์ธํ ์ฌ๋ฐฑ ๋ถ๋ถ์ 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-grow
์ ์์ ์ด๋ฃจ๋ ์์ฑflex-babis
์ ๊ฐ๋ณด๋ค ์์์ง ์ ์๋์ง๋ฅผ ๊ฒฐ์ 0
๋ณด๋ค ํฐ ๊ฐ์ด ์ธํ
์ด ๋๋ฉด ํด๋น ์์ดํ
์ด ์ ์ฐํ(flexible) ๋ฐ์ค๋ก ๋ณํ๊ณ flex-shrink
๋ณด๋ค ์์์ง๋ค.1
์ด๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์ธํ
ํ์ง ์์๋ ์์ดํ
์ด flex-babis
๋ณด๋ค ์์์ง ์ ์๋ค..item {
flex-basis: 150px;
/* ๊ธฐ๋ณธ๊ฐ */
flex-shrink: 1;
}
โ๏ธ flex
flex-grow
, flex-shrink
, flex-babis
๋ฅผ ํ ๋ฒ์ ์ธ ์ ์๋ ์ถ์ฝํ ์์ฑ.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; */
}
โ๏ธ align-self
auto
๋ก, ๊ธฐ๋ณธ์ ์ผ๋ก align-items
์ค์ ์ ์์ ๋ฐ๋๋ค.align-self
๋ align-items
๋ณด๋ค ์ฐ์ ๊ถ์ ๊ฐ์ง๋ค..item {
align-self: auto;
align-self: stretch;
align-self: flex-start;
align-self: flex-end;
align-self: center;
align-self: baseline;
}
โ๏ธ order
์๊ฐ์
์์์ผ๋ฟ, HTML ์ฐจ์ ์ ๊ตฌ์กฐ๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ ์๋๋ฏ๋ก ์ ๊ทผ์ฑ ์ธก๋ฉด์์ ์ฌ์ฉ์ ์ฃผ์ํด์ผ ํ๋ค..item:nth-child(1) { order: 3; } /* A */
.item:nth-child(2) { order: 1; } /* B */
.item:nth-child(3) { order: 2; } /* C */
โ๏ธ z-index
z-index
๋ก Z์ถ ์ ๋ ฌ์ ํ ์ ์๋ค.position
์์์ z-index
๋ ๋๊ฐ๋ค..item:nth-child(2) {
z-index: 1;
transform: scale(2);
}
/* z-index๋ฅผ ์ค์ ์ํ๋ฉด 0์ด๋ฏ๋ก, 1๋ง ์ค์ ํด๋ ๋๋จธ์ง ์์ดํ
์ ๋ณด๋ค ์๋ก ์ฌ๋ผ์จ๋ค */
โ 2022.05.18
โ 2022.05.29