<div class="container>
<div class="item">AAA</div>
<div class="item">BBB</div>
<div class="item">CCC</div>
</div>
부모요소인 .container를 flex container라 부르고
자식요소인 .item을 flex item 이라 부른다.
.container{ display: flex; /* display: inline-flex; */ }
.container { flex-direction: row; /* flex-direction: column; */ /* flex-direction: row-reverse; */ /* flex-direction: column-reverse; */ }
row
플렉스 컨테이너의 주축이 글의 작성 방향과 동일합니다. 주축의 시작점과 끝점이 콘텐츠 방향과 동일합니다.
row-reverse
row와 동일하게 동작하지만 시작점과 끝점이 반대에 위치합니다.
column
플렉스 컨테이너의 주축이 블록 축과 동일합니다. 주축의 시작점과 끝점이, 글 작성 모드의 이전 지점 및 이후 지점과 동일합니다.
column-reverse
column과 동일하게 동작하지만 시작점과 끝점이 반대에 위치합니다.
.container { flex-wrap: nowrap; /* flex-wrap: wrap; */ /* flex-wrap: wrap-reverse; */ }
nowrap
기본 설정값으로, flex-container 부모요소 영역을 벗어나더라도 flex-item 요소들을 한 줄에 배치합니다. 시작점은 flex-direction 에 의해 결정된 방향으로 적용됩니다.
wrap
flex-item 요소들이 내부 로직에 의해 분할되어 여러 행에 걸쳐서 배치됩니다. nowrap 속성과 마찬가지로 요소가 배치되는 시작점은 flex-direction 에 의해 결정됩니다. 일반적으로 위에서 아래로 쌓이는 순서입니다.
wrap-reverse
wrap 속성값과 동일하지만, 요소가 나열되는 시작점과 끝점의 기준이 반대로 배치됩니다.
flex direction , flex wrap 을 동시에 설정할 수 있는 속성
.container { flex-flow: row wrap; /* 아래의 두 줄을 줄여 쓴 것 */ /* flex-direction: row; */ /* flex-wrap: wrap; */ }
main axis(주축) : justify
cross axis(수직축) : align
.container { justify-content: flex-start; /* justify-content: flex-end; */ /* justify-content: center; */ /* justify-content: space-between; */ /* justify-content: space-around; */ /* justify-content: space-evenly; */ }
flex-start
(아무것도 지정하지 않았을 때 적용되는)초기 값이며 이 값을 지정하면 flex 항목 행 내의 항목들은 flex 컨테이너의 시작선에서 부터 정렬됩니다.
flex-end
flex 항목 행의 마지막 항목이 flex 컨테이너의 끝선에서 정렬됩니다.
center
flex 항목들이 flex 항목 행의 가운데 정렬됩니다.
space-between
주죽 방향 여유 공간을 flex 항목 사이의 공간에 균등 배분합니다.
space-around
시작선 및 끝선과 flex 항목간 공간도 균등 배분에 고려하므로 시작선 및 끝선과 flex 항목 간의 공간의 크기를 1로 배분한다면 flex 항목 사이의 공간은 2로 배분합니다.
space-evenly
지정하면 여유 공간을 flex 항목 사이의 공간 및 시작선 및 끝선과 flex 항목 간의 공간에 모두 균등하게 배분합니다.
.container { align-items: stretch; /* align-items: flex-start; */ /* align-items: flex-end; */ /* align-items: center; */ /* align-items: baseline; */ }
stretch
(아무것도 지정하지 않았을 때 적용되는)초기 값이며 이 값을 지정하면 flex 항목의 높이는 flex 컨테이너 내 flex 항목 행의 최대 높이로 지정됩니다.
따라서, flex 항목 행이 하나 일 때는 flex 항목은 교차축 방향으로 flex 컨테이너를 가득 채우게 됩니다.flex-start
flex 항목의 첫 열이 교차축 방향의 시작선에 정렬됩니다.
flex-end
flex 항목의 첫 열이 교차축 방향의 끝선에 정렬됩니다.
center
flex 항목 행에 배분된 공간의 가운데 라인에 정렬됩니다.
baseline
아이템들을 텍스트 베이스라인 기준으로 정렬합니다.