직계 자식들에게만 관련 속성들이 적용된다
display: flex 적용 시 본인에게
border-box: box-sizing, justify
부모
display: flex 부모
justify-content: 가로 배치, flex-start(default), flex-end, center 등부모
align-items: 세로 배치, flex-start(default), flex-end, center 등부모
flex-direction: 가로(default)/세로 배치 지정,부모
gap : n, 자식 사이 간격지정, 부모와 자식의 간격은 처리안한다. 자식
flex : n, 차지 비율 지정, width가 있을 경우 width 무시, 1(default)flow-grow: 1; flex-shring: 0;, flex-basis: auto;
자식
flex-grow 자식
flex-shrink 자식
flex-basis : flex 가 지정된 요소의 경우(auto가 아닌 경우) width는 무시된다.<!DOCTYPE html>
<html lang="en">
<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>
.parent {
border: 5px solid #000;
width: 1320px;
overflow: hidden;
margin-bottom: 10px;
}
.parent div {
border: 5px solid red;
height: 200px;
float: left;
width: calc(1320px / 5);
box-sizing: border-box;
}
.parent_flex {
border: 5px solid #000;
width: 1320px;
display: flex; /* 이 속성이 적용되면 묵시적으로 box-sizing: border-box; 가 들어간다. */
/* flex 관련 속성은 직계 자식에게만 적용된다. */
/* justify-content: 수평정렬;
align-items: 수직 정렬; */
}
.parent_flex div {
border: 5px solid red;
height: 200px;
flex: 1; /* 차지 비율 설정 */
}
</style>
</head>
<body>
<div class="parent">
<div>child</div>
<div>child</div>
<div>child</div>
<div>child</div>
<div>child</div>
</div>
<div class="parent_flex">
<div>child</div>
<div>child</div>
<div>child</div>
<div>child</div>
<div>child</div>
</div>
</body>
</html>