가로 혹은 세로의 직선의 요소들을 정렬하고 싶을 때 사용한다.
정렬하고 싶은 아이템들의 부모에 display: flex;
를 넣어서 자연스럽게 정렬하게 만든다.
=> 아이템, 부모 둘 다 존재해야 한다.
✔️item이 아닌 container에 사용할 수 있는 속성이다.
총 4가지를 결정할 수 있다.
- 주축의 위치
1) 수평 horizontal
2) 수직 vertical- 주축의 방향
3) 정방향
4) 역방향
값으로는
wrap: flex-item 요소들이 내부 로직에 의해 분할되어 여러 행에 걸쳐서 배치된다. 일반적으로 위 -> 아래 순이다. 자신의 사이즈를 잃지 않고 유지하면서 배치가되므로
wrap-reverse: wrap 속성값과 동일하지만, 요소가 나열되는 시작점과 끝점의 기준이 반대로 배치된다.
flex-direction과 flex-wrap을 한 줄로 작성할 수 있게 한다.
풀어서 작성:
flex-direction: column; flex-wrap: wrap;
한 줄로 작성:
flex-flow: column wrap;
주축을 기준으로 아이템들을 어떻게 정렬할 것인지 설정한다.
justify-content: flex-start;
: 기본값으로 설정된 주축의 시작점은 왼쪽 위 이므로, 그 지점부터 나란히 정렬된다.justify-content: flex-end;
: 주축이 끝나는 위치 까지 아이템들이 정렬된다. 마치 오른쪽 정렬처럼 보인다. (1,2,3,4,5)
❗️만약 여기서flex-direction: row-reverse;
를 넣으면 순서가 반대로 되기 때문에 마지막 아이템은 왼쪽 끝에 붙게된다. (마치 왼쪽 정렬처럼 5,4,3,2,1)justify-content: center;
: 가운데 정렬이 된다.justify-content: space-between;
: 아이템들 사이의 간격이 동일하게 띄어지게 된다. 그리고 아이템들이 여백없이 꽉 채운다.justify-content: space-around;
: 한 아이템의 양쪽에 동일한 간격이 주어진다. 첫번째와 마지막 아이템에도 양쪽으로 동일한 간격이 주어지므로 양쪽 끝에 여백이 남게된다.
아이템 ✔️덩어리 한 줄이 주축을 기준으로 어느 지점부터 시작해야 할지 알려준다.
align-items: flex-start;
: 주축의 시작 부분부터 있게 된다.
align-items: flex-end;
: 주축의 끝 부분부터 있게된다.
아이템 ✔️덩어리 전체가 주축을 기준으로 어느 지점부터 시작해야 할지 알려준다.
align-content: space-between;
align-content: space-around;
사용가능!
🧩 Items: 덩어리 한 줄! Content: 덩어리 여러 줄!