display:flex;를 적용하는게 시작아이템들이 배치되는 축의 방향을 결정하는 속성
row(기본값) : 아이템들이 행(가로) 방향으로 배치
row-reverse : 아이템들이 역순으로 가로 배치
column : 아이템들이 열(세로) 방향으로 배치
colum-reverse : 아이템들이 역순으로 세로 배치
컨테이너가 더 이상 아이템들을 한 줄에 담을 여유 공간이 없을때 아이템 줄바꿈을 어떻게 할지 결정하는 속성
nowrap(기본값) : 줄바꿈 x / 넘치면 그냥 삐져 나간다.
wrap : 줄바꿈 o / float이나 inline-block으로 배치한 요소들과 비슷하게 동작
wrap-reverse : 아이템을 역순으로 줄바꿈
/* flex-direction: row; 와*/
/* flex-wrap: wrap;을 합쳐서 쓰면*/
flex-flow : row wrap;
flex-start(기본값): 아이템들을 시작점으로 정렬 / flex-direction이 row일 때는 왼쪽, column일 때는 위쪽으로 정렬
flex-end : 아이템들을 끝점으로 정렬 / flex-direction이 row일 때는 오른쪽, column일 때는 아래쪽으로 정렬
center : 아이템들을 가운데로 정렬
space-between : 아이템들의 사이(between)에 균일한 간격을 만듦
space-around : 아이템들의 둘레(around)에 균일한 간격을 만듦
space-evenly : 아이템들의 사이와 양 끝에 균일한 간격을 만듦
stretch(기본값) : 아이템들이 수직축 방향으로 끝까지 늘어남
flex-start : 아이템들을 시작점으로 정렬 / flex-direction: row일 때는 위, flex-direction:column일 때는 왼쪽 정렬
flex-end : 아이템들을 끝점으로 정렬 / flex-direction: row일 때는 아래, flex-direction:column일 때는 오른쪽 정렬
center : 아이템들을 가운데로 정렬
baseline : 아이템들을 텍스트 베이스라인 기준으로 정렬
justify-content : center;
align-item : center;
를 하면, 아이템을 한 가운데로 놓을 수 있다.
flex-wrap:wrap;이 설정된 상태에서, 아이템들의 행이 2줄 이상 되었을 때의 수직축 방향 정렬을 결정하는 속성
속성
strerch(기본값)flex-startflex-endcenterspace-betweenspace-aroundspace-evenlyflex 아이템의 기본 크기를 설정 / flex-direction:row : 너비, flex-direction:column : 높이
flex-basis의 값으로는 width,height 등에 사용하는 각종 단위의 수가 들어갈 수 있다.
flex-basis:auto(기본값) -> 해당 아이템의 너비값을 사용
flex-basis:content -> 컨텐츠의 크기
아이템이 flex-basis의 값보다 커질 수 있는지를 결정하는 속성
flex-grow에는 숫자값이 들어감
0보다 큰 값이 세팅되면 해당 아이템이 유연한 박스로 변하고 원래의 크기보다 커지며 빈 공간을 채운다.
flex-grow:0(기본값)
flex-shrink:1(기본값)해당 아이템의 수직축 방향 정렬
속성
auto:기본값stretchflex-startflex-endcenterbaselinealign-self는 align-item보다 우선권이 있다.
-> 전체 설정보다 각각의 개별 설정이 우선됨
1단계: 헤더와 푸터를 flex-item으로 만들고 세로 방향으로 배열
2단계: 푸터안의 텍스트를 가운데 정렬
3단계: 중단 부분을 마크업
4단계: 중단 부부의 세 부분을 가로로 배열
5단계: 양쪽 사이드바가 남는 공간을 1:1 비율로 나눠가지기
6단계: 왼쪽 사이드바의 너비 150px, 오른쪽 사이드바의 너비 120px, 나머지 여백은 중앙박스가 차지
7단계: 컨테이너의 높이 100vh이상
8단계: 중단 부분의 높이가 헤더와 푸터가 사용한 나머지를 차지
9단계: 중아박스에 텍스틀 길게 넣기, 화면의 너비 줄이기
10단계: 화면의 너비가 줄어들어도 양쪽 사이드바의 너비 변화 x