본문 바로가기

개발에 도움이 되는/CSS

Flex

- Flex

FlexBox라고도 부르며, 레이아웃 배치 전용 기능으로 고안됨.

container와 item으로 구분함.

direction에 따라 main axis과 cross axis가 바뀐다.

 

- 속성

1. container 적용 속성

  1) display : flex 설정

     - flex : 기본 flex 설정

     - inline-flex : container가 들어있는 item 크기만큼 크기 설정

 

  2) flex-direction : 정렬 방향

    - row : 가로축 기준 정렬, 기본 값

    - row-reverse : row 순서를 반대로

    - column : 세로축 기준 정렬

    - column-reverse : column 순서를 반대로

 

  3) flex-wrap : Wrapping(줄 넘김) 여부

    - nowrap : 크기가 작아져도 wrapping 되지 않음. 즉, 한 줄로 유지

    - wrap : 크기가 작아지면 아래로 wrapping

    - wrap-reverse : 크기가 작아지면 위로 wrapping

 

  4) flex-flow : flex-direction과 flex-wrap을 한 번에 설정

    ex) flex-flow : column nowrap;

 

  5) justify-content : 중심축(main axis)에서 item을 어떻게 배치할 것인지 

   - flex-start : 시작점 공간부터 배치

   - flex-end : 끝점 공간부터 배치

   - center : 가운데로 배치

   - space-around : item들의 둘레에 균일한 간격을 만듦

   - space-evenly : item들의 사이와 양 끝에 균일한 간격을 만듦

   - space-between : item들의 사이에 균일한 간격을 만듦

 

  6) align-items : 반대 축(cross axis)에서 item을 어떻게 배치할 것인지

   - stretch :  반대 축 방향으로 끝까지 늘어남

   - flex-start : item들을 시작점으로 정렬

   - flex-end : item들을 끝점으로 정렬

   - center : item들을 가운데로 정렬

   - baseline : item들을 Text baseline 기준으로 정렬

 

  7) align-content : flex-wrap: wrap; 상태에서 item들의 행이 2줄 이상 되었을 때 반대 축 방향 정렬 결정

   - stretch : 반대 축 방향으로 끝까지 늘어남

   - flex-start : item들을 시작점으로 정렬

   - flex-end : item들을 끝점으로 정렬

   - center : item들을 가운데로 정렬

   - space-around : item들의 둘레에 균일한 간격을 만듦

   - space-evenly : item들의 사이와 양 끝에 균일한 간격을 만듦

   - space-between : item들의 사이에 균일한 간격을 만듦

 

- item 가운데 정렬 : justify-content: center; align-item: center;

 

2. item 적용 속성

  1) order : 각 item들의 시각적 나열 순서를 결정, 작은 숫자일수록 먼저 배치

  2) flex-grow : 유연하게 늘리는 속성으로 각 item의 설정된 숫자 비율에 따라 비율만큼 늘어남

  3) flex-shrink : 유연하게 줄이는 속성으로 container가 작아져도 설정한 크기 비율을 유지함

  4) flex-basis : flex item의 기본 크기를 설정, 기본값은 auto이고 auto 시 grow와 shrink의 영향을 받음.

  5) flex : flex-grow, flex-shrink, flex-basis를 한 번에 쓸 수 있는 축약형 속성

  6) align-self : item별 배치를 해주는 속성으로 align-items의 item 버전, 기본값은 auto이고 auto 시 align-items 설정을 상속 받음

   - stretch :  반대 축 방향으로 끝까지 늘어남

   - flex-start : item들을 시작점으로 정렬

   - flex-end : item들을 끝점으로 정렬

   - center : item들을 가운데로 정렬

   - baseline : item들을 Text baseline 기준으로 정렬

 

 

더 자세한 그림 예시는 아래 참고 사이트에서 확인

참고 사이트 : https://studiomeal.com/archives/197

 

 

 

반응형

'개발에 도움이 되는 > CSS' 카테고리의 다른 글

박스 모델(Box Model)  (0) 2022.04.06
Canvas (React version)  (0) 2022.03.18
가상 요소(Pseudo Element)  (0) 2022.02.10