그건 내가 flexbox를 사용하여 얻을 수없는 매우 간단한 구조입니다.펑키 플렉스 박스 높이
본문에 머리글과 본문 요소가 있습니다. 머리글과 본문 요소는 길이가 길고 신체에는 작은 바닥 글이 있습니다. 내용을 스크롤 할 수 있고 바닥 글이 항상 표시되기를 바랍니다.
나는 flexbox를 사용하기 위해 모든 것을 설정했고, flex-direction: column
을 사용하여 수직 위치를 얻었으며 flex: 1
을 사용하여 정의되지 않은 높이의 요소로 나머지 공간을 차지했습니다.
이상하게도 50 픽셀의 고정 된 높이를 가진 내 머리글은 높이가 20 픽셀이며 내용이 전혀 스크롤 할 수 없거나, 오히려 그 내용이 내가 원하는 바가없는 작은 바닥 글 (녹색)과 함께 있습니다. 이 문제 크로스 브라우저를 만듭니다 퍼센트로 높이를 사용하여 내부 요소 인 flexbox을 결합 ..
.flex { display: flex; }
.flex1 { flex: 1; }
.col { flex-direction: column; }
.red { background-color: red; }
.blue { background-color: blue; }
.green { background-color: green; }
.yellow { background-color: yellow; }
.pad { padding: 10px 15px; }
.h50 { height: 50px; }
<div class="flex col" style="height: 100vh;">
<div class="red h50">
Wtf?
</div>
<div class="blue flex1 pad">
<div class="flex col" style="height: 100%">
<div class="yellow flex1" style="overflow: auto;">
<div style="height: 1500px">
Long content here
</div>
</div>
<div class="green h50">
</div>
</div>
</div>
</div>
니펫을, 모든 머리글과 바닥 글은 정적해야 스크롤입니다 만 노란색 영역은 위의 코드에서 스크롤 –
@php_nub_qq해야한다 뷰포트 내의 노란색 스크롤 (Chrome을 사용 중입니다. btw), 어떻게 똑같습니까? – LGSon
오, 브라우저 문제입니다. 파이어 폭스를 사용하고 있습니다 ...하지만 크롬에서도 똑같은 것은 작동하지 않습니다. jesus –