※ item을 일렬로 정렬한다.
※ block:inline-block = flex:inline-flex 와 비슷한 개념으로 이해
※ 부모 요소가 inline 요소인 경우 inline-flex을 지정한다.
※ flex 또는 inline-flex는 부모 요소에 반드시 지정해야하는 유일한 속성이며 자식 요소는 자동적으로 flex item이 된다.
속성 | 내용 |
---|---|
flex | item 내용에 맞게 나열하고 남는 부분은 공백으로 채운다. 컨테이너가 가로 100%, item크에 상관없이 컨테이너 우측에 요소가 올수 없다. |
inline-flex | 컨테이너가 내용물에 맞게 수축됨 우측에 다른요소를 배치 |
※ item을 배치(정렬)하는 방향을 결정한다.
속성 | 설명 |
---|---|
row | default, 앞에서부터 차례로 가로로 정렬 |
column | 위에서 부터 세로로 정렬 |
row-reverse | 가로방향 오른쪽에서 왼쪽으로 정렬 |
column-reverse | 세로방향 아래에서 위쪽으로 정렬 |
※ 넘쳐나는 item을 어떻게 처리할 것인가 (다음 줄로 어떻게 넘길지를 결정)
속성 | 설명 |
---|---|
nowrap | default(기본값) - 흘러 넘친다. 한줄에 배치- 넘치는 부분은 개행없이 브라우저 밖으로 사라짐 |
wrap | 넘치는 아이템은 뒤서부터 아래로 내려감 단, 방향이 column일경우 아래에서 오른쪽으로 넘어간다. |
wrap-reverse | 넘치는 아이템은 뒤서부터 위로 올라감 단, 방향이 column일경우 아래서 왼쪽위로 넘어간다. |
※ flex-direction 과 flex-wrap 를 한번에 표현하기 위한 방식이다.
flex-flow: row wrap; // 아래 두 설정을 하나로 한것(default : row wrap)
flex-direction: row;
flex-wrap: wrap
※ 메인축 방향에 해당하는 아이템의 정렬하는 방식
※ flex-direction: column; 일경우 메인축이 가로방향이 아니고 세로방향이 된다.
속성 | 설명 |
---|---|
flex-start | default 처음부터 정렬 |
center | 뒤에서 부터 정렬 |
flex-end | 가운데 정렬 |
space-betwwn | 앞뒤로 고정하고, 간격을 동일하게 정렬 |
space-around | 각 아이템 좌우공간 확보해 정렬 (맨앞과 뒤의 공간이 아이템들사이의 1/2) |
space-evenly | 아이템들 공간을 일정하게 정렬 (맨앞과 뒤의 공간도 아이템들사이와 동일) |
속성 | 내용 |
---|---|
stretch | (default) 아이템들이 수직으로 100% 늘어난다. item의 height가 설정되어 있을 경우, item크기에 맞게 맞춰진다. |
baseline | 아이템들의 아래를 맞춘뒤 위쪽에 붙어 정렬 |
flex-start | 아이템 상단이 위쪽에 붙어 정렬 |
flex-end | 아이템 하단이 아래쪽에 붙어 정렬 |
center | 아이템들이 수직 중앙에 정렬된다. |
※ flex-wrap: wrap; 설정으로 아이템들이 2줄이상이 되었을때, 행간 여백의 비율을 정의한다.
※ flex-wrap: wrap; 설정필요
속성 | 설명 |
---|---|
stretch | default 세로로 늘려서 꽉차게 정렬 (여백을 고려해서 정렬) |
flex-start | 위쪽에서 부터 정렬 |
flex-end | 아래쪽에서 부터 정렬 |
space-between | 위아래 아이템 붙여놓고 배분정렬(개행이 없으면 위쪽에 붙는다) |
space-around | 아이템의 공간을 갖고 배분 |
space-evenly | 처음,끝 포함 각 아이템들의 공간이 균일 |
center | 세로 가운데기준 정렬 |
속성 | 내용 |
---|---|
auto | default 최대 content의 크기로 설정 단, width가 설정되어 있으면 width 크기가된다. |
0 | content의 최소값에 맞게 설정된다. |
50% | 남는공간대비 50% |
content | 내용크기에 맞게 설정 |
100px, 10rem, 5em | 고정크기 |
속성 | 내용 |
---|---|
0 | default item을 늘리지 않는다. |
1,2... | item을 컨테이너에 맞게 최대폭으로 늘린다. 비율은 item간 숫자를 기준으로 남는공간을 비율로 늘린다. |
속성 | 내용 |
---|---|
0 | flex-basis 보다 작아질 수 없다. width 와 같이 사용하면 폭이 고정되어 사용 가능하다. ※ 늘리지도 않을려면 flex-grow:0; 도 같이 사용하면 완전 고정 |
1,2.... | default=1 자동으로 작아짐 숫자의 비율로 작아짐의 정도가 커짐, 숫자가 크면 그 비율로 더 작아짐 |
속성 | 내용 |
---|---|
1 | 1,1, 0% |
1 100px | 1,1, 100px |
1 1 auto | 1,1, auto |
※ 컨테이너의 align-items가 전체 아이템에 적용된다면, align-self는 각각의 아이템에 적용한다.
※ align_items 를 상속받지만, align-self가 우선적용된다.
속성 | 내용 |
---|---|
auto | default : align-items 를 상속받는다. |
stretch | 100% 늘린다. |
flex-start | 시작점에 정렬 |
flex-end | 종착점에 정렬 |
center | 가운데 정렬 |
baseline | baseline에 정렬 |