<!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><title>Height Test</title></head>
<body>
<div style="background-color:Gray; height:100%;">
AAA
</div>
</body></html>
Yes! 如果把最上面的<!DOCTYPE>拿掉,就會發現DIV的Behavior立刻恢復我們熟悉的樣子。但向XHTML標準看齊是趨勢,不可能為了這個理由不用XHTML! (什麼? 你覺得反正全世界目前仍有93%的網頁都不符合XHTML規範,拿掉XHTML比較省事。OK,這篇文章讀到這裡就可以,閣下可以先離席了。)
Google了一下,有不少人討論這個問題,其中有相當的比例是用利用window.innerHeight(FF)或window.document.documentElement.clientHeight(IE)取得當時的瀏覽器高度後重設DIV的style.height。
<div style="background-color:Gray; height:100%;" id="myDiv">
AAA
</div>
<script type="text/javascript">
var h = (document.all) ?
document.documentElement.clientHeight //IE
: window.innerHeight; //Firefox
document.getElementById("myDiv").style.height = h + "px";</script>
<head><title>Height Test</title>
<style type="text/css">
html, body
{ margin: 0; padding: 0; height: 100%; border:none; }</style>
</head>
<body>
<div style="background-color:Gray; height:100%;">
AAA
</div>