display:flex
는 부모 박스 요소에 적용해, 자식 박스의 방향과 크기를 결정하는 레이아웃 구성방법이다. flex-direction: 자식요소들을 정렬 할 정렬축을 결정한다.
- flex-wrap : 하위 요소들의 크기가 상위 요소의 크기를 넘으면 자동 줄 바꿈 할 것인지를 결정한다.
- justify-content : 자식요소들을 수평방향으로 어떻게 정렬할 것인지 결정한다.
- align-items : 자식요소들을 수직방향으로 어떻게 정렬할 것인지 결정한다.
flex-grow
(팽창 지수) - 요소의 크기가 늘어나야 할 때 얼마나 늘어날 것인지를 의미한다.
팽창지수의 절대적 크키가 아닌 총합에서의 비율로 빈 공간을 차지한다.
flex-shrink
(수축 지수) - 요소의 크기가 줄어야 할 때 어람나 줄어들 것이지를 의미한다.
flex-grow
속성과 함께 사용하는 일은 추천하지 않는다.
flex-basis
(기본 크기) - 늘어나고 줄어드는 것과 상관없이 요소의 기본 크기는 얼마인지를 의미한다.
flex-grow
속성의 값이 0인 경우에만 flex-basis
속성의 값이 유지된다.
width
와 동시에 적요할 경우, flex-basis
가 우선된다.
- flex는 부모요소와 자식 요소에 적용해야 하는 속성을 잘 구분해야한다.
- flex 속성값은 순서대로 팽창 지수, 수축 지수, 기본 크기로, 기본값은 0, 1, auto이다.
- flex-grow 의 값이 0 이 아니라면, flex-basis 에서 설정한 값보다 커질 수 있고, flex-shrink 의 값이 0 이 아니라면, flex-basis 에서 설정한 값보다 작아질 수 있다. 즉 요소의 크기가 flex basis값으로 유지되지 않는다.