display:flex
flex-container
자식 요소를 flex-item
이라고 부름
(출처 : 위니브)
flex-direction
정렬할 방향을 결정!
컨테이너 내 아이템을 배치할 때 주축 및 방향을 지정
row
: 기본값. 왼쪽에서 오른쪽 (주축이 행 방향)
column
: 위에서 아래 방향 (주축이 열 방향)
row-reverse
: 오른쪽에서 왼쪽
column-reverse
: 아래에서 위 방향
justify-content
flex 요소들을 가로선 상에서 정렬!
flex-start
, flex-end
, center
, space-between
, space-around
, space-evenly
align-items, align-content
flex 요소들을 세로선 상에서 정렬!
align-items
: 교차 축을 기준으로 정렬
align-content
: 세로선 상에 여분의 공간이 있는 경우 flex컨테이너 사이의 간격을 조절
flex-wrap:wrap
인 상태에서 사용해야 한다!flex-direction
flex-wrap
단축속성flex-flow: row wrap;
두개를 동시에 지정 가능!
flex-flow: row-reverse wrap-reverse;
->
flex-direction: row-reverse;
flex-wrap: wrap-reverse;
같은 의미!
(아래는 어렵다,, 공부필요)
auto
기본값flex-basis
값이 적용되어있다면 row일 경우 width 값이 무시, column일 경우 height 값이 무시만약 자식요소들의 컨텐츠 크기가 존재한다면 그 컨텐츠의 넓이에 따라 할당받는 값이 달라짐
stretch
flex-grow
flex-shrink
flex-basis
추가 정리
(원본)
(align-content:flex-start 정렬)
(align-items:flex-end 정렬)
align-items와 align-content 두개가 너무 햇갈려서,,
align-content는 세로를 기준으로 줄들 사이의 간격을 조절하고
align-items는 세로를 기준으로 정렬(간격은 유지한채로)
또다른 예시로
(강사님께서 너무 좋은 예시를 들어주셨다,, 감사합니다)
align-items는 아이템들을 교차축을 기준으로 위의 그림처럼 정렬하게 되는데 wrap을 줬을 경우 사진처럼 가상의 빨간 공간 내에서 정렬이 된다.
align-content는 컨테이너 내부를 하나의 덩어리로 취급하여 교차축을 기준으로 정렬한다.
https://flexboxfroggy.com/#ko
위에는 개구리를 이동하여 알맞은 연못위로 움직이는 게임이다.
flex 공부를 하기에 유용하다. 그리고 재밌다!