๐ flex ?
์ปจํ ์ธ ๋ฅผ ์ ๋ ฌํ๊ฑฐ๋ ๊ณต๊ฐ์ ๋๋ ์ ์๋ css ์์ฑ์ ์งํฉ
(์๋ ์๋ ์ ์ค์ ํ ์ด๋ธ ์ฝ๋ฉ์ผ๋ก ๋ ์ด์์์ ์ก์์๋ค๊ณ ํ๋ค . . . !?
flex๋ฅผ ๋ฐฐ์ฐ๋ ๋ ํ๋ณตํ๋ค . . .)
ํน์ง
- flex๋ ๊ฐ๋ก๋ฐฉํฅ์ผ๋ก ๋ฐฐ์น๋๋ค.
- inline์์์ฒ๋ผ ์์ ์ด ๊ฐ์ง ๋ด์ฉ๋ฌผ์ width๋งํผ ์ฐจ์งํ๋ค.
- flex๋ก ๋ฐฐ์น์ height๊ฐ ์ปจํ ์ด๋ ๋์ด๋งํผ ์์์ ๋์ด๋๋ค.
๐ฅธ flex-direction
- ๋ฉ์ธ์ถ์ ์ ๋ ฌ ๋ฐฉํฅ์ ๊ฒฐ์ ํ๋ค.
(์ด ๋ฉ์ธ์ถ์ ์ ๋ ฌ๋ฐฉ๋ฒ์ ๋ฐ๋ผ justify-content์ align-item์ ์ ๋ ฌ์ถ๋ ๊ฒฐ์ ๋๋ค! )
1) row๋ก ์ค์ ํ๋ค๋ฉด ๊ฐ๋ก(ํ)๋ก ๋ฐฐ์น๊ฐ ๋๋ค.
.container {
display: flex;
flex-direction : row;
}
2) column์ผ๋ก ์ค์ ํ๋ฉด ์ธ๋ก(์ด)๋ก ๋ฐฐ์น๋๋ค.
.container{
display : flex;
flex-direction : column;
}
๊ทธ๋ฐ์ row-reverse , column-reverse ์์ฑ๋ ์๋ค.
๐ฅธ jutify-content
- ๋ฉ์ธ์ถ(Axis)์ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์ด์ ์์น๋ฅผ ์กฐ์
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>flex</title>
<style>
.container {
margin: 100px;
display: flex;
flex-direction: row;
/* justify-content: flex-start; */
/* justify-content: flex-end; */
/* justify-content: center; */
/* justify-content: space-between; */
/* justify-content: space-around; */
height: 700px;
background-color: #f9f1f0;
border: 2px solid black;
}
.box {
background-color: pink;
border: 2px solid black;
width: 70px;
height: 70px;
margin: 10px;
text-align: center;
line-height: 70px;
}
</style>
</head>
<body>
<div class="container">
<div class="box">box1</div>
<div class="box">box2</div>
<div class="box">box3</div>
</div>
</body>
</html>
justify-content: flex-start; |
|
justify-content: flex-end; |
|
justify-content: center; |
|
justify-content: space-between; |
|
justify-content: space-around; |
โ๏ธ โ๏ธ โ๏ธ ๋ง์ฝ ๋ฉ์ธ์ถ์ด flex-direction: row๋ผ๋ฉด ? ๊ฐ๋ก์ถ์ ๊ธฐ์ค์ผ๋ก ์์น ์กฐ์
flex-direction: cloum์ด๋ผ๋ฉด ? ์ธ๋ก์ถ์ ๊ธฐ์ค์ผ๋ก ์์น ์กฐ์
* Axis ์ Cross-Axis
- flex์์ axis(์ถ)์ ์ง์ ์ด๋ฃจ๋ cross-axis๊ฐ ์กด์ฌํ๋ค.
- axis (๋ฉ์ธ์ถ์ด๋ผ ์๊ฐํ๋ฉด ๋๋ค.)๊ฐ row๋ผ๋ฉด cros-axis๋ column!
- axis (๋ฉ์ธ์ถ์ด๋ผ ์๊ฐํ๋ฉด ๋๋ค.)๊ฐ column!๋ผ๋ฉด cros-axis๋ row
๐ฅธ align-items
- ๋ฉ์ธ์ถ์ ๋ฐ๋์ถ(cross-Axis) ์ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์ ๋ ฌ
align-items: center;
|
|
align-items: flex-start;
|
|
align-items: flex-end;
|
๊ทธ๋ฐ์ flex-wrap , align-content ,align-self , flex-grow , flex-shrink ๋ฑ์ด ์๋ค.
๋ฐ์ ๋จ๊ฒจ๋ ์ฌ์ดํธ๋ฅผ ๋ณด๋ฉฐ ์ฐธ๊ณ ํ๋ฉด ์ข๊ฒ ๋ค.
๐๊ทธ๋ฐ์
- flexbox๋ฅผ ํ๋์ ๋ณด๊ธฐ ์ข์ ์ฌ์ดํธ
https://codepen.io/enxaneta/full/adLPwv
- ์ค์์ ๋ ฌ : display: flex; jutify-content : center; align-item: center; ๊ทธ๋ฅ ์ธ์ฐ์!
๐ฅ ํ๊ณ
- ์ฌ์ค flex๋ ์ต์ ๊ธฐ์ ์ด๊ธฐ ๋๋ฌธ์ ์ง์์ ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ๋ค๋ ์๋ค. (์ฌ์ง์ฐธ๊ณ )
flex๋ฅผ ์๋ float๋ ์์ฃผ ์จ์ค์ผ๊ฒ ๋ค.. ^^
- ๋ฐด๋ฉ๋จธ์ ๊ณผ ๋ก๊ทธ์ธํผ ๊ณผ์ ๋ฅผ ๊ตฌํํ์ง ๋ชปํด์ ์ข ์ฌํ์๋๋ฐ ๋คํํ ๊ธฐ๊ฐ์ด ์ฐ์ฅ๋๋ค!!
์ฃผ๋ง์ด ๊ปด์์ผ๋ ๊ผญ ์ด์ฌํ ํด์ ์์ฑํด์ผ์ง ^_^
'FE > HTML,CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS] CSS ์ค๊ณ๊ธฐ๋ฒ (0) | 2022.04.18 |
---|---|
[CSS] grid ? (0) | 2022.04.14 |
[css] float (0) | 2022.04.12 |
[css] position (0) | 2022.04.11 |
[css] ์ค์์ ๋ ฌ ์ ์ฌ์ฉ๋๋ ์ฝ๋ ๋ชจ์ (0) | 2022.04.07 |