너와 나의 프로그래밍
HTML5 & CSS3 - flex-grow (height: 100%) 본문
요즘 프론트엔드 개발을 하면서 “display: flex” 속성을 활용해서 퍼블리싱을 하는 경우가 굉장히 많다.
flex가 나오면서 정말 어려웠던 가로/세로 가운데 정렬도 쉽고 Element의 배치도 굉장히 쉬워지고 정말 많이 좋아졌지만 이놈의 “height: 100%”의 고질적인 문제를 참 해결하기 힘들었다.
개발을 하면서 부모 flex-container에서 height값을 주지 않고 자식의 height 값으로 부모의 height값을 자동으로 조절해주는 기능을 만들게 되었는데 이번에 찾아본 결과 “flex-grow: 1”이라는 속성을 찾아냈고 그 속성으로 height: 100% 문제를 해결했다.
문제 😳
child에 height: 100% 속성을 부여해줘도 전혀 움직이지 않고 높이가 제각각인 문제가 발생하였다.
처음에 parent css에 height: 100% 속성을 부여해줘서 해결하려고 했지만 내가 원하는 결과값이 아니기 때문에 자식 속성에만 꼭 높이 값으로 부모의 공간을 꽉 채워야 했다.
해결 😃
height: 100% 속성 대신에 flex-grow: 1 속성을 부여해 문제를 해결하였다.
flex-grow는 flex-container안에서 할당 가능한 자식 flex-items의 대한 공간의 정도를 설정할 수 있다.
만약 1이라면 모든 자식들의 공간이 일정하게 꽉 차게 나타나게 된다.
위 예제는 여러개의 자식들 중에서 개별 contents에 따라 유동적으로 늘어나는 높이를 한꺼번에 맞추기 위한 예제다.
반응형
'Front-End > HTML5 & CSS3' 카테고리의 다른 글
CSS - 여러개의 Span태그에 깔끔하게 Border 만들기. (0) | 2019.04.04 |
---|---|
HTML - span 태그에서 onblur 적용하기. (0) | 2018.09.11 |
HTML - Table TD안의 이미지를 자동으로 셀 높이에 맞게 채우기 (0) | 2017.11.03 |