block
은 높이와 넓이를 가지고 있고(inline과 반대) element옆에 아무 것도 오지 못하게 한다.inline block
은 높이와 넓이를 가지고 있지만 inline처럼 옆에 element를 배치 할 수 있다.만약 inline block 박스 3개를 배치하는데 왼쪽 중간 오른쪽에 배치하고 싶다면? nth-of-child selector를 이용해서 margin을 줄 순 있겠지만 화면 크기에 따라 디자인이 파괴 될 수 있다.
=> 이 때문에 flex display를 사용하게 된다
row
,row-reverse
,column
,column-reverse
row
이다.row
는 수평축(main-axis)으로 아이템들을 배치하며, column
은 수직축(main-axis)으로 배치한다.reverse
는 main-axis의 마지막 공간부터 배치한다. align-items
와 같은효과를 가진다. 가지는 인자도 같다.nowrap
:기본 값이며, 무조건 한 줄의 main-axis에 element들을 배치시킨다. 그렇기 때문에 width(혹은 height)를 무시한다.wrap
: child element들의 width,height값을 지키면서 여러 줄에 배치시킨다.wrap-reverse
: 여러 줄에 배치시킬때, 거꾸로 정렬한다.flex-direction
과 flex-wrap
을 한번에 사용한다..flexbox{
flex-flow: column wrap;
}
align-content랑 align-items가 좀 헷갈린다.