main axis(가로) : justify-content (horizontal)
cross axis(세로) : aligin-items (vertical)
main axis(가로) : align-items (vertical)
cross axis(세로) : justify-content (horizontal)
element 즉 자식들이 무얼 해도 한줄에(같은줄) 있어야한다는 뜻
element 즉 자식들의 크기를 유지하라는 것
flex-direction: row-reverse; (오른쪽에서부터 1이 시작)
4321
785
column-reverse; (세로로 오른쪽부터 1시작)
4 7
3 6
2 5
1
567
1234 => 이런식으로!
flexbox의 flex-wrap이 default 값(no-wrap)인 상태일 때는 일정한 비율로 children 요소들이 너비가 줄어들지만 flex-shrink는 말 그대로 shrink이며 원래 크기의 n배만큼 줄어든다. flexbox 안의 children 요소들의 flex-shrink 값은 1이 default이며 flex-shrink 값을 매긴다면 각 요소는 축소 시
==> (원래 요소의 너비) * (해당 요소의 flex-shrink 값 / 전체 요소들의 flex-shrink 값의 총합) 정도 축소가 되겠다.
flex-grow는 flexbox의 children 요소들이 원래 너비 상태를 기준으로 너비를 키우게 되면 남는 여백들을 가지고 flex-grow 값을 가진 요소들에게 너비를 추가시킨다. 모든 요소들의 flex-grow 값은 0이 default이며 flex-grow 값을 매긴다면
==> (원래 너비) + (남는 공백 * (해당 요소의 flex-grow 값 / 전체 요소의 flex-grow 값의 총합)) 정도 너비를 얻게 될 것이다.
flex-basis는 flex-shrink 와 flex-grow 를 위한 기본 세팅이다.
flex-basis는 main axis(주축) 쪽 크기를 정해준다. 즉, flex-direction이 row(default)일 때는 width와 같이 작용, column일 때는 height와 같이 작용한다.