display: flex는 부모 요소에 적용하여 자식 박스의 방향과 크기를 결정함.
<main>
<div>box1</div>
<div>box2</div>
<div>box3</div>
</main>
flex속성에는 세가지 값을 지정해줄 수 있음.
flex: <grow(팽창 지수)> <shrink(수축 지수)> <basis(기본 크기)>
팽창지수: 요소의 크기(예를 들어 item box)가 늘어날때 얼마나 늘어날 것인지
수축지수: 요소의 크기가 줄어들어야 할 때 얼마나 줄어들 것인지
기본크기: 늘어나는것, 줄어드는것 상관없이 요소의 기본크기가 얼마인지
자식요소에 별도로 flex 속성을 지정하지 않을 시 기본값이 적용 됨
기본 값은 flex: 0 1 auto;
<main>
<div id="box1" class="box">box1</div>
<div id="box2" class="box">box2</div>
<div id="box3" class="box">box3</div>
</main>
grow의 기본값인 0은 빈공간이 있어도 늘어나지 않음을 의미함.
아래 그림처럼 빈공간이 있어도 늘어나지 않음
grow와 반대로 줄어드는 속성이다. 비율이 클수록 더 많이 줄어들며
flex-grow 속성과 flex-shrink속성을 함께 사용하는 것은 추천하지 않는다.flex-basis속성에 따른 비율이므로 실제 크기를 예측하기 어렵기 때문이다. flex-grow 속성으로 비율 변경하고 있을 때
flex-shrink 속성은 기본값인 1로 두어도 무방함.
근데 shrink를 0으로 하는 경우가있음 이러면 ? 안줄어들게 되는것
어떤칼럼은 고정되어있고 옆에있는 컬럼은 유연하게 움직일때 그럴때 쓸수있음.
box1의 크기가 변함없이 50px 유지하는 것을 확인할 수 있음.