ฉันต้องการเพิ่ม - คำตอบส่วนใหญ่ทำงานได้ดีสำหรับฉัน อย่างไรก็ตามมันใช้เวลานานกว่าจะทำให้มันทำงานได้!
นี่เป็นเพราะการตั้งค่าheight: 100%
เพียงหยิบความสูงของผู้ปกครอง!
ดังนั้นหาก html ทั้งหมดของคุณ (ด้านในของร่างกาย) มีลักษณะดังต่อไปนี้:
<div id="holder">
<header>.....</header>
<div id="body">....</div>
<footer>....</footer>
</div>
จากนั้นต่อไปนี้จะถูกปรับ:
html,body{
height: 100%
}
#holder{
min-height: 100%;
position:relative;
}
#body{
padding-bottom: 100px; /* height of footer */
}
footer{
height: 100px;
width:100%;
position: absolute;
left: 0;
bottom: 0;
}
... ในฐานะ "ผู้ถือ" จะรับความสูงได้โดยตรงจาก "ร่างกาย"
รุ่งโรจน์ต่อ My Head Hurts ซึ่งคำตอบคือคำตอบที่ฉันได้ไปทำงาน!
อย่างไรก็ตาม หาก html ของคุณซ้อนกันมากขึ้น (เพราะเป็นเพียงองค์ประกอบของหน้าเต็มหรืออยู่ในคอลัมน์ที่แน่นอน ฯลฯ ) คุณต้องตรวจสอบให้แน่ใจว่าองค์ประกอบที่มีทุกองค์ประกอบนั้นได้height: 100%
ตั้งค่าไว้ใน div ด้วย มิฉะนั้นข้อมูลความสูงจะหายไประหว่าง "ร่างกาย" และ "ผู้ถือ"
เช่นต่อไปนี้ที่ฉันได้เพิ่มคลาส "เต็มความสูง" ให้กับทุก div เพื่อให้แน่ใจว่าระดับความสูงได้ถูกนำไปใช้กับองค์ประกอบส่วนหัว / ร่างกาย / ส่วนท้ายของเรา:
<div class="full-height">
<div class="container full-height">
<div id="holder">
<header>.....</header>
<div id="body">....</div>
<footer>....</footer>
</div>
</div>
</div>
และอย่าลืมตั้งค่าความสูงของคลาสเต็มความสูงใน css:
#full-height{
height: 100%;
}
ที่แก้ไขปัญหาของฉัน!
position:fixed
แม้ว่าจะไม่เป็นวิธีที่ดีที่สุดที่จะทำ