Flex box layout

beomjin_97·2022년 3월 27일
0

css

목록 보기
3/4

1. 플렉스 컨테이너 (부모 박스)

부모 박스를 플렉스 컨테이너로 작동하게 하는 속성 (display: )

  • flex : 플렉스 항목을 블록 레벨 요소로 배치
  • inline-flex : 플렉스 항목을 인라인 레벨 요소로 배치

주축의 방향을 지정하는 속성 (flex-direction: )

  • row : 주축은 가로, 왼쪽에서 오른쪽으로 배치
  • row-reverse : 주축은 가로, 오른쪽에서 왼쪽으로 배치
  • column : 주축은 세로, 위에서 아래로 배치
  • column-reverse : 주축은 세로, 아래에서 위로 배치

플렉스 항목의 줄을 바꾸는 속성 (flex-wrap: )

  • nowrap : 플렉스 항목을 한 줄에 표시
  • wrap : 여러 줄에 표시
  • wrap-reverse : 아래에서 위로 여러줄에 표시

플렉스 항목(자식 박스)를 배치하는 속성

  • justify-content : 주축 방향의 정렬 방법
  • align-items : 교차축 방향의 정렬 방법
  • align-self : 교차축에 있는 개별 항목의 정렬 방법 (개별 플렉스 항목에서 사용)
  • align-content : 교차축에서 여러 줄로 표시된 항목의 정렬 방법

주축 정렬 방식 (justify-content: )

  • flex-start : 주축의 시작점에 맞춰 배치
  • flex-end : 주축의 끝점에 맞춰 배치
  • center : 주축의 중앙에 맞춰 배치
  • space-between : 주축의 시작점과 끝점에 시작항목과 끝항목이 위치하고 나머지는 동일 간격으로 배치
  • space-around : 모든 항목을 같은 간격으로 배치

교차축 정렬 방식 (align-items: )

  • flex-start : 교차축의 시작점에 맞춰 배치
  • flex-end : 교차축의 끝점에 맞춰 배치
  • center : 교차축의 중앙에 맞춰 배치
  • baseline : 교차축의 문자 기준선에 맞춰 배치
  • stretch : 플렉스 항목을 늘려 교차축에 가득 차게 배치

여러 줄일 때 플렉스 항목간의 교차축 간격 지정 방식 (align-content: )

  • flex-start : 교차축의 시작점에 맞춰 배치
  • flex-end : 교차축의 끝점에 맞춰 배치
  • center : 교차축의 중앙에 맞춰 배치
  • space-between : 교차의 시작점과 끝점에 시작항목과 끝항목이 위치하고 나머지는 동일 간격으로 배치
  • space-around : 모든 항목을 같은 간격으로 배치
  • stretch : 플렉스 항목을 늘려 교차축에 가득 차게 배치

2. 플렉스 항목 (자식 박스)

플렉스 항목의 순서

각 항목에 (order: number)를 지정하여 순서를 지정한다. 숫자가 작을 수록 시작점에 가까이 위치한다.


플렉스 항목의 증가 너비 비율 (flex-grow: )

기본값은 0, 플렉스 컨테이너가 증가 할 때 각 플렉스 항목이 가질 수 있는 증가율을 나타낸다.

.item:nth-child(1) { flex-grow: 1; }
.item:nth-child(2) { flex-grow: 2; }
.item:nth-child(3) { flex-grow: 1; }
.item:nth-child(4) { flex-grow: 2; }

플렉스 항목의 감소 너비 비율 (flex-shrink: )

기본값은 1, 플렉스 컨테이너가 감소하여 플렉스 항목의 너비에 영향을 주는 경우, 영향을 주기 시작한 지점부터 플렉스 컨테이너가 줄어든 길이만큼을 flex-shrink 값에 따라 비율에 맞춰 나눈 다음에 각 플렉스 항목을 수축시킨다.

.item:nth-child(1) { flex-shrink: 0; }
.item:nth-child(2) { flex-shrink: 2; }
.item:nth-child(3) { flex-shrink: 1; }
.item:nth-child(4) { flex-shrink: 0; }

플렉스 항목의 기본 너비 (flex-basis: )

기본값은 auto, grow 하거나 shrink 하기 전 플렉스 항목의 기본 너비를 설정한다. auto인 경우 width, height 속성으로 크기를 설정한다.

.item:nth-child(1) { flex-basis: 100px; }
.item:nth-child(2) { flex-basis: 100px; }
.item:nth-child(3) { flex-basis: 120px; }
.item:nth-child(4) { flex-basis: 120px; }
profile
Rather be dead than cool.

0개의 댓글