Flex Container 의 Flex Item 들을 설정된 속성에 따라 배치하는 레이아웃 배치 전용 기능<style>
.container{
display: flex; /* 이 설정을 통해 Flex Item 들이 flex 설정의 영향을 받음 */
}
</style>
...
<div class="container">
<div class="item1"> ITEM1 </div>
<div class="item2"> ITEM2 </div>
<div class="item3"> ITEM3 </div>
<div class="item4"> ITEM4 </div>
</div>

Flex Container
Flex의 영향을 받는 전체 공간.displayflex-directionflex-wrapflex-flowjustify-contentalign-tiemsalign-contentFlex Item
divflex-basisflex-grow flex-shrinkflexalign-selforderz-indexFlex Container에 적용하는 속성들displaydisplay:flex 혹은 display: inline-flex 적용시 Flex Item 들은 가로 방향으로 배치된다. display: flex 컨테이너가 Block 요소와 같은 성향(수직 쌓임)을 가짐.display: inline-flex : 컨테이너가 Inline 요소와 같은 성향(수평 쌓임)을 가짐Flex Item width : 내부 요소의 widthFlex Item height : 컨테이너의 heightflex-directionFlex Item의 메인 축 (Main-Axis) 설정flex-wrapFlex Item의 줄 바꿈(줄 묶음) 설정flex-flowflex-direction과 flex-wrap을 동시에 설정.flex-flow: row wrap;
justify-contentflex-start default : 메인 축 시작점 정렬
flex-end : 메인 축 끝점 정렬
center : 메인 축 가운데 정렬
space-between : 시작점과 끝점에 배치 후 균일한 간격으로 배치됨
space-around : 모든 Item이 동일한 간격으로 배치됨
space-evenly : 동일한 양 끝 간격과 사이 간격으로 배치됨

align-tiemsItems의 정렬 방법 설정stretch default : 교차 축을 채우기 위해 Items를 늘림flex-start : 교차 축 시작점 정렬flex-end : 교차 축 끝점 정렬center : 교차 축 가운데 정렬base-line : 텍스트 베이스라인 기준으로 정렬
align-contentflex-wrap: wrap; or flex-wrap: wrap-reverse; 설정이 되어있어야함 stretch default : 교차 축을 채우기 위해 Items를 늘림flex-start : 교차 축 시작점 정렬flex-end : 교차 축 끝점 정렬center : 교차 축 가운데 정렬space-between : 교차 축 시작점과 끝점에 배치 후 균일한 간격으로 배치됨space-around : 교차 축 기준 모든 Item이 동일한 간격으로 배치됨
Flex Item에 적용하는 속성들orderItem의 순서를 설정flex-growItem의 증가 너비 비율을 설정flex-grow의 값의 비율 만큼 너비가 늘어남<style>
.item1 { flex-grow: 1; }
.item2 { flex-grow: 1; }
.item3 { flex-grow: 2; }
</style>

flex-shrinkItem의 감소 너비 비율을 설정0으로 설정한 경우 flex-basis보다 작아지지 않기 때문에 고정폭의 컬럼을 만들수 있다.flex-shrink의 값의 비율 만큼 너비가 줄어듬<style>
.container { width: 700px; padding: 20px; }
.item1 { flex-basis: 150px; flex-shrink: 1; }
.item2 { flex-basis: 250px; flex-shrink: 2; }
.item3 { flex-basis: 350px; flex-shrink: 3; }
</style>

flex-basisItem의 공간 배분 전 기본 너비를 설정auto일 경우 width height 등의 속성으로 너비를 설정할 수 있다.px em rem 등flexflex-grow flex-shrink flex-basis를 설정하는 단축 속성flex: 0 1 auto;flex-shrink flex-basis 생략 가능align-selfItem의 정렬 방법 설정Conatinaer의 align-items 보다 우선함auto default : Container의 align-items 속성을 상속받음stretch : 교차 축을 채우기 위해 Items를 늘림flex-start : 교차 축 시작점 정렬flex-end : 교차 축 끝점 정렬center : 교차 축 가운데 정렬base-line : 텍스트 베이스라인 기준으로 정렬
아주 유용한 정보네요!