<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> *{ margin:0; padding:0; } html{ padding:0 !important; padding:100px 0; width:100%; height:100%; overflow:hidden; } body{ padding:100px 0; padding:/**/0; height:100%; overflow: hidden; } #header{ position:absolute; top:0; width:100%; height:100px; background:#ccc; line-height:100px; text-align:center; } #middle{ position: absolute!important; position: relative; top:100px!important; top:0; bottom:100px; width:100%; height:auto!important; height:100%; background:#ffc; text-align:center; overflow: auto; } #footer{ position:absolute; bottom:0; width:100%; height:100px; background:#ccc; line-height:100px; text-align:center; } </style> <title>自适应100%高度</title> </head> <body> <div id="header">页首</div> <div id="middle"> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> </div> <div id="footer">页脚</div> </body> </html>
以下代码可以实现除ie6以外的浏览器:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" src="ceshi/jquery-1.8.0.js"></script> <script type="text/javascript"> $(function(){ alert($("html").height()) alert($("body").height()) alert($("#middle").height()) }) </script> <style type="text/css"> *{padding:0; margin:0;} html{ height:100%; width:100%; margin-top:100px; margin-bottom:100px; overflow:hidden;} body{ height:100%; width:100%; overflow:hidden;} #header{ height:100px; width:100%; background-color:#EBEBEB; position:absolute; top:0px; left:0px; z-index:10;} #middle{ width:100%; height:100%; height:auto; background-color:#DFF4FF; overflow:auto; position:absolute; top:100px;bottom:100px; left:0px; z-index:1; overflow:auto;} #footer{ width:100%; height:100px; background-color:#D2D2FF; position:absolute; bottom:0px; left:0px; z-index:10} </style> </head> <body> <div id="header">页首</div> <div id="middle"> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> 页中<br /> </div> <div id="footer">页脚</div> </body> </html>