ฉันต้องการใช้แอปแบบเต็มความสูงโดยใช้ flexbox ฉันพบสิ่งที่ฉันต้องการโดยใช้โมดูลเลย์เอาต์ flexbox เก่า ( display: box;
และสิ่งอื่น ๆ ) ในลิงค์นี้: แอพCSS3 Flexbox เต็มความสูงและโอเวอร์โฟลว์
นี่เป็นวิธีแก้ปัญหาที่ถูกต้องสำหรับเบราว์เซอร์ที่รองรับคุณสมบัติ Flexbox CSS เวอร์ชันเก่าเท่านั้น
หากฉันต้องการลองใช้คุณสมบัติ flexbox ที่ใหม่กว่าฉันจะลองใช้วิธีที่สองในลิงค์เดียวกับที่ระบุว่าเป็นการแฮ็ก: โดยใช้คอนเทนเนอร์กับheight: 0px;
. ทำให้แสดงการเลื่อนแนวตั้ง
ฉันไม่ชอบมันมากนักเพราะมันแนะนำปัญหาอื่น ๆ และเป็นวิธีแก้ปัญหามากกว่าวิธีแก้ปัญหา
html, body {
height: 100%;
}
#container {
display: flex;
flex-direction: column;
height: 100%;
}
#container article {
flex: 1 1 auto;
overflow-y: scroll;
}
#container header {
background-color: gray;
}
#container footer {
background-color: gray;
}
<section id="container" >
<header id="header" >This is a header</header>
<article id="content" >
This is the content that
<br />
With a lot of lines.
<br />
With a lot of lines.
<br />
This is the content that
<br />
With a lot of lines.
<br />
<br />
This is the content that
<br />
With a lot of lines.
<br />
<br />
This is the content that
<br />
With a lot of lines.
<br />
</article>
<footer id="footer" >This is a footer</footer>
</section>
ฉันได้เตรียม JSFiddle ด้วยตัวอย่างพื้นฐาน: http://jsfiddle.net/ch7n6/
เป็นเว็บไซต์ HTML แบบเต็มความสูงและส่วนท้ายอยู่ด้านล่างเนื่องจากคุณสมบัติ flexbox ขององค์ประกอบเนื้อหา ฉันขอแนะนำให้คุณย้ายแถบระหว่างโค้ด CSS และผลลัพธ์เพื่อจำลองความสูงที่แตกต่างกัน