flex

Judo·2020년 11월 8일
0
post-thumbnail

flex

  • flexbox 레이아웃은 박스를 유연하게 늘리고 줄이는 방법을 토대로 레이아웃을 잡는 방법
  • 부모 박스에 display : flex 을 적용해서, 자식 박스의 방향과 크기를 결정

방향(flex-direction)

  • flex-direction : row ,row-reverse;
  • flex-direction : column , column-reverse;
  • row-reverse,column-reverse를 사용하면 start,end의 위치도 뒤바뀜.
  • column인 경우 justify-content의 방향이 세로로, align-items의 방향이 가로로 바뀜.

justify-content , align-items

  • justify-content
    • flex 요소들을 가로선상의 배치
    • flex-start(default) : 요소들을 컨테이너의 왼쪽으로 정렬합니다.
    • flex-end : 요소들을 컨테이너의 오른쪽으로 정렬합니다.
    • center : 요소들을 컨테이너의 가운데로 정렬합니다.
    • space-between : 요소들 사이에 동일한 간격을 둡니다.
    • space-around : 요소들 주위에 동일한 간격을 둡니다.
  • align-items
    • flex 요소들을 세로선상의 배치
    • flex-start :요소들을 컨테이너의 꼭대기로 정렬합니다.
    • flex-end : 요소들을 컨테이너의 바닥으로 정렬합니다.
    • center : 요소들을 컨테이너의 세로선 상의 가운데로 정렬합니다.
    • baseline : 요소들을 컨테이너의 시작 위치에 정렬합니다.
    • stretch(default) : 요소들을 컨테이너에 맞도록 늘립니다.

align-self

  • 개별 요소에 적용할 수 있는 또 다른 속성
  • align-items가 사용하는 값들을 인자로 받는다.
  • 그 값들은 지정한 요소에만 적용

align-content

  • flex 컨테이너 사이의 간격을 조절
  • flex-start : 여러 줄들을 컨테이너 꼭대기에 정렬
  • flex-end : 여러 줄들을 컨테이너 바닥에 정렬
  • center : 여러 줄들을 가운데 정렬
  • space-between : 여러 줄들 사이에 동일한 간격
  • space-around : 여러 줄들 주위에 동일한 간격
  • stretch : 여러 줄들을 컨테이너에 맞도록 늘림

order

  • flex 요소의 순서를 지정
  • 기본 값은 0이며, 양수나 음수로 지정 가능
  • Integer (...-1, 0(default) , 1, ...)
    • 0 이 현 위치 , 음수면 왼쪽 , 양수면 오른쪽으로 이동
	.class{
		order : 양수 0 음수;
	}

flex-wrap

  • flex요소들을 한 줄 또는 여러 줄에 걸쳐 정렬
  • nowrap : 모든 요소들을 한 줄에 정렬
  • wrap : 요소들을 여러 줄에 걸쳐 정렬
  • wrap-reverse : 요소들을 여러 줄에 걸쳐 반대로 정렬

flex-flow

  • flex-directionflex-wrap을 합친 속성
  • 공백문자로 구분
  • flex-flow : row nowrap;

grow(팽창지수),shrink(수축지수),basis(기본크기)

  • 자식 박스에 어떠한 속성도 주지 않으면, 그저 오른쪽으로 컨텐츠 크기만큼 배치됨.
  • 위치 조절을 위해 자식 박스의 flex 속성을 줌.
  • flex의 기본 속성 -> flex : 0 1 auto;
  • flexbox는 기본 크기를 바탕으로 필요에 따라 늘릴 수 있다.
  • flex : <grow> <shrink> <basis>
  • grow , shrink 는 비례하는 값
  • grow -> 박스 별 grow 의 총합 / 박스의 갯수 로 비율을 정함.
  • basis
    • grow 나 shrink에 의해 늘어나거나 줄어들기 전 갖게 되는 기본 크기
      grow 가 0일 때, basis 크기를 지정하면 크기 보장된다.
      auto로 지정할 경우 박스는 기본 크기를 갖게 되므로 컨테츠 크기에 따라감. 따라서, basis를 0으로 줘서 컨텐츠 크기와 무관하게 비율로 조절 가능
profile
즐거운 코딩

0개의 댓글