먼저, flex
속성은 flex-grow, flex-shrink, flex-basis를 한번에 나타낸다.
flex-basis
(flex item의 기본 크기)보다 늘어날 수 있는지 결정하는 속성flex-basis
를 제외한 나머지 여백을 해당 비율로 나눠 갖겠다는 의미flex-basis
(flex item의 기본 크기)보다 줄어들 수 있는지 결정하는 속성flex-grow
와 공통점이 많다!flex-basis
보다 줄어들지 않으므로 고정 너비를 설정할 수 있다 = inflexibleauto
는 컨텐츠의 너비만큼을 의미flex-direction
이 row
일 때는 너비, column
일 때는 높이를 의미그렇다면 flex: 1
의 의미는 무엇일까?
flex: 1
은 풀어서 보면
flex-grow: 1;
flex-shrink: 1;
flex-basis: 0%
를 의미한다.
즉, flex-basis가 0이므로 점유 크기를 0으로 만든 후 화면 비율에 따라 유연하게 늘어나거나 줄어들 수 있음을 만드는 속성이다.
위에서 빨간 네모 박스안의 Income과 Expense 각각의 div에 다음과 같은 CSS 속성이 적용되었다.
.inc-exp-container > div {
flex: 1;
text-align: center;
}
각각의 div
가 부모인 flex container의 너비가 변할 때에도 동일한 비율로 늘어나고 줄어듬을 확인할 수 있다.