1. Flex
- ๋ฐ์ค์ ๋ฐฐ์น ์์๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์์ ๋กญ๊ฒ ๋ฐ๊พธ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ ๊ธฐ์กด์ ์์ฑ๋ค๊ณผ ๋ฌ๋ฆฌ, ํ๋ ์ค๋ ๋ฐ์ค ์์๋ค์ ๋ค์ํ๊ณ ์์ ๋กญ๊ฒ ์กฐ์ํ ์ ์๋ค.
- Flexible Box, Flexbox๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
1) Container์ Item
ํ๋ ์ค๋ ํ๋ ์ค ์ปจํ ์ด๋์ ํ๋ ์ค ์์ดํ ๋ก ์ด๋ค์ ธ ์๊ณ , ์ปจํ ์ด๋์ ์์ดํ ์ ์ ์ฉํ๋ ์์ฑ์ด ๋๋์ด์ ธ ์๋ค.
- ํ๋ ์ค์ ์ถ
๋ฉ์ธ์ถ(Main Axis) : ์์ดํ ๋ค์ด ๋ฐฐ์น๋ ๋ฐฉํฅ
์์ง์ถ ๋๋ ๊ต์ฐจ์ถ(Cross Axis) : ๋ฉ์ธ์ถ๊ณผ ์์ง์ธ ์ถ
- ํ๋ ์ค ์ปจํ ์ด๋(Flex Container)
์ฌ๋ฌ ๊ฐ์ ํ๋ ์ค ์์ดํ ์ ํฌํจํ ๋ถ๋ชจ ์ญํ ์ ํ๋ค.
์์ฑ | ์ค๋ช | ์์ฑ๊ฐ |
display | flex : ๋ธ๋ก ์์ค์ ํ๋ ์๋ธ ๋ฐ์ค inline-flex : ์ธ๋ผ์ธ ์์ค์ ํ๋ ์๋ธ ๋ฐ์ค |
|
flex-direction | ๋ฉ์ธ์ถ์ ๋ฐฉํฅ ์ค์ | row(๊ธฐ๋ณธ๊ฐ) | column row-reverse | column-reverse |
flex-wrap | ๋ฐ์ค๊ฐ ๋ค์ ์ค๋ก ๋์ด๊ฐ๋ ๋ฐฉ์ | nowrap(๊ธฐ๋ณธ๊ฐ) : ์ค๋ฐ๊ฟ ํ์ง ์์. wrap : ์ค๋ฐ๊ฟ์ ํจ. wrap-reverse : ์ค๋ฐ๊ฟ์ ํ๋๋ฐ, ์์ดํ ์ ์ญ์์ผ๋ก ๋ฐฐ์น |
flex-flow | flex-direction๊ณผ flex-wrap์ ํ๊บผ๋ฒ์ ์ง์ ํ ์ ์๋ ๋จ์ถ ์์ฑ |
flex-direction, flex-wrap์ ์์ผ๋ก ํ ์นธ ๋ผ๊ณ ์์ฑ๊ฐ์ ์ค์ ํด์ฃผ๋ฉด ๋๋ค. |
justify-content | ๋ฉ์ธ์ถ ๋ฐฉํฅ ์ค์ | flex-start(๊ธฐ๋ณธ๊ฐ) | flex-end | center space-between | space-around | space-evenly |
align-items | ์์ง์ถ ๋ฐฉํฅ ์ค์ | stretch : ์์ดํ
๋ค์ด ์์ง์ถ ๋ฐฉํฅ์ผ๋ก ๋๊น์ง ๋์ด๋๋ค. flex-start | flex-end | center baseline : ์์ดํ ๋ค์ ํ ์คํธ ๋ฒ ์ด์ค๋ผ์ธ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ |
align-content | ์ฌ๋ฌ ํ ์ ๋ ฌ flex-wrap: wrap;์ด ์ค์ ๋ ์ํ์์, ์์ดํ ๋ค์ ํ์ด 2์ค ์ด์ ๋์์ ๋์ ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ์ ๊ฒฐ์ ํ๋ ์์ฑ |
stretch flex-start | flex-end | center space-between | space-around | space-evenly |
- ํ๋ ์ค ์์ดํ (Flex Item)
ํ๋ ์ค ์ปจํ ์ด๋ ์์ ์์นํ๋ฉด์ ๋ฐ์ค ํ๋ ํ๋์ ๋ชจ์์ ๊ฒฐ์ ํ๋ค.
์์ฑ | ์ค๋ช | ์์ฑ๊ฐ |
order | ์์ดํ ๋ค์ ๋ฐฐ์น ์์ | |
flex-basis | ํ๋ ์ค ์์ดํ
์ ๊ธฐ๋ณธ ํฌ๊ธฐ ์ค์ flex-direction์ด row๋ฉด ๋๋น, column์ด๋ฉด ๋์ด. |
๊ธฐ๋ณธ๊ฐ auto ex) 0, 50%, 300px, 10rem, content |
flex-grow | - ์์ดํ
์ด flex-basis์ ๊ฐ๋ณด๋ค ์ปค์ง ์ ์๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ์์ฑ - ์์ดํ ๋ค์ flex-basis๋ฅผ ์ ์ธํ ์ฌ๋ฐฑ ๋ถ๋ถ์ flex-grow์ ์ง์ ๋ ์ซ์์ ๋น์จ๋ก ๋๋์ด ๊ฐ์ง๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. |
๊ธฐ๋ณธ๊ฐ 0 |
flex-shrink | - ์์ดํ
์ด flex-basis์ ๊ฐ๋ณด๋ค ์์์ง ์ ์๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ์์ฑ - flex-shrink: 0; ์ผ๋ก ์ค์ ํ๋ฉด ์์ดํ ์ ํฌ๊ธฐ๊ฐ flex-basis๋ณด๋ค ์์์ง์ง ์๋๋ค. |
๊ธฐ๋ณธ๊ฐ 1 |
flex | flex-grow, flex-shrink, flex-basis๋ฅผ ํ ๋ฒ์ ์ธ ์ ์๋ ์ถ์ฝํ ์์ฑ | |
align-self | ํด๋น ์์ดํ
์ ์์ง์ถ ์์ดํ
์ ๋ ฌ ๊ธฐ๋ณธ์ ์ผ๋ก align-items์ ์ค์ ์ ์์ ๋ฐ์ง๋ง, align-self๊ฐ ์ฐ์ ์ ์ผ๋ก ์ค์ ๋๋ค. |
auto(๊ธฐ๋ณธ๊ฐ) stretch flex-start | flex-end | center baseline |
z-index | Z์ถ ์ ๋ ฌ. ์ซ์๊ฐ ํด ์๋ก ์๋ก ์ฌ๋ผ์จ๋ค. | ๊ธฐ๋ณธ๊ฐ 0 |
2) Flex ์ฌ์ฉํ๊ธฐ
ํ๋ ์ค ์ปจํ ์ด๋์ display์์ฑ์ flex ๋๋ inline-flex๋ฅผ ์ง์ ํ๋ฉด ์ฌ์ฉํ ์ ์๋ค.
<!doctype>
<html>
<head>
<meta charset="utf-8">
<style>
.container{
background-color: skyblue;
height:300px;
display:flex; /*ํ๋ ์ค ์ฌ์ฉ*/
flex-direction:row; /*๊ธฐ๋ณธ๊ฐ row*/
}
.item{
background-color: purple;
color:white;
border:1px solid white;
}
</style>
</head>
<body>
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
</div>
</body>
</html>
'๐ปWEB FrontEnd > ๋ฐ์ํ ์น' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฏธ๋์ด ์ฟผ๋ฆฌ์ ๋ทฐํฌํธ (0) | 2020.10.25 |
---|---|
๊ฐ๋ณ ๊ทธ๋ฆฌ๋ / ๊ฐ๋ณ ํจ๋ฉ,๋ง์ง / ๊ฐ๋ณ ์ด๋ฏธ์ง,๋์์ (0) | 2020.10.23 |
๋ฐ์ํ ์น vs ์ ์ํ ์น (0) | 2020.10.22 |