728x90
반응형
부모 div(초록색 보더) 안에 2개의 div 요소가 있고,
div 1은 상단에 위치하며, height값이 고정이며,
div 2는 하단에 위차하고 나머니 공간을 채워주길 원합니다.
.flex {
display:flex;
flex-direction:column;
height:100%;
}
.flex .div1{height:100px;}
.flex .div2{flex-grow:1;}
<div class="flex">
<div class="div1"></div>
<div class="div2"></div>
</div>
flex를 이용하여 손쉽게 해결한 듯 했습니다.
그. 러. 나 문제는 div2의 컨텐츠 양이 많아지면 부모 div를 넘어가네요...
이럴 경우 해결방법!!!
min-height:0;
가변 자식 요소에 min-height:0;을 줍니다.
flex 아이템의 min-height, min-width 초기값은 auto이며, 초기값인 flex-basis:auto 보다 우선적으로 적용되어 flex 아이템의 비대화에 의해 flex 컨테이너 영역을 버어나게 되는 것 입니다.
그.래.서! min-height, min-width: 0; 으로 지정하게 되면, flex-basis:auto 가 우선 적용되어 아이템이 비대화되지 않아
영역을 벗어나지 않게 됩니다.
그 후 넘치는 콘텐츠는 scroll로 보여주면 됩니다~
깔끔 :)
.flex {
display:flex;
flex-direction:column;
height:100%;
}
.flex .div1{height:100px;}
.flex .div2{flex-grow:1;min-height:0;}
이 방법을 찾기 전에 시도 했던 여러 방법입니다.
overflow:hidden
부모의 크기에 맞게 가릴 수는 있으나, 넘친 div2의 컨텐츠를 모두 볼 수 없습니다.
max-height:calc(100vh - px )
가변 자식 요소에 해당 속성을 줍니다. 그러나 결국엔 정확한 수치를 기입해야 하므로, 반응형을 생각했을 때 좋은 방법은 아닌거 같습니다.
글 읽어주셔서 감사합니다:)
728x90
'css' 카테고리의 다른 글
[css] css 변수(variable)를 파헤쳐보기(feat.지역변수, 전역변수) (4) | 2023.04.26 |
---|---|
[CSS]border에 그라데이션 넣기(feat. 사각형, 원형) (0) | 2023.04.25 |
[css] 파이 차트(Pie chart) 만들기 conic-gradients (0) | 2023.02.04 |
[css] 텍스트 흐름 효과 marquee? animation?(반전 주의) (0) | 2023.02.02 |