ที่จริงแล้วคำตอบที่ได้รับการยอมรับจาก @User จะใช้ได้ก็ต่อเมื่อหน้าต่างสูงและเนื้อหาสั้น แต่ถ้าเนื้อหานั้นสูงและหน้าต่างสั้นมันจะใส่ข้อมูลลิขสิทธิ์ไว้เหนือเนื้อหาของหน้าแล้วเลื่อนลงเพื่อดูเนื้อหาจะทำให้คุณมีประกาศลิขสิทธิ์ลอยตัว นั่นทำให้โซลูชันนี้ไร้ประโยชน์สำหรับหน้าส่วนใหญ่ (เช่นหน้านี้จริง ๆ )
วิธีที่ใช้กันโดยทั่วไปในการทำเช่นนี้คือ "CSS sticky footer" ซึ่งแสดงให้เห็นถึงวิธีการหรือรูปแบบที่บางกว่าเล็กน้อย วิธีนี้ใช้งานได้ดี - หากคุณมีส่วนท้ายที่มีความสูงคงที่
หากคุณต้องการส่วนท้ายของตัวแปรความสูงที่จะปรากฏที่ด้านล่างของหน้าต่างหากเนื้อหาสั้นเกินไปและที่ด้านล่างของเนื้อหาหากหน้าต่างสั้นเกินไปคุณจะทำอย่างไร
กลืนความภาคภูมิใจของคุณและใช้ตาราง
ตัวอย่างเช่น:
* {
padding: 0;
margin: 0;
}
html, body {
height: 100%;
}
#container {
height: 100%;
border-collapse: collapse;
}
<!DOCTYPE html>
<html>
<body>
<table id="container">
<tr>
<td valign="top">
<div id="main">Lorem ipsum, etc.</div>
</td>
</tr>
<tr>
<td valign="bottom">
<div id="footer">Copyright some evil company...</div>
</td>
</tr>
</table>
</body>
</html>
ลองดู สิ่งนี้จะใช้ได้กับทุกขนาดหน้าต่างสำหรับปริมาณเนื้อหาใด ๆ สำหรับส่วนท้ายขนาดใด ๆ ในทุกเบราว์เซอร์ ... แม้แต่ IE6
หากคุณกำลังคิดที่จะใช้ตารางสำหรับการจัดวางใช้เวลาสักครู่ในการถามตัวเองว่าทำไม CSS ควรจะทำให้ชีวิตของเราง่ายขึ้น - และโดยรวมแล้ว - แต่ความจริงก็คือแม้ว่าหลังจากหลายปีที่ผ่านมามันก็ยังคงเป็นระเบียบที่ใช้งานง่าย มันไม่สามารถแก้ปัญหาทุกปัญหา มันไม่สมบูรณ์
ตารางไม่เจ๋ง แต่อย่างน้อยตอนนี้บางครั้งก็เป็นวิธีที่ดีที่สุดในการแก้ปัญหาการออกแบบ