自适应浏览器高度的表格


    昨天发现原先静态页面中的表格样式中,height属性设置的是"100%",可以根据浏览器的大小自动满屏显示,即表格的高度自适应浏览器高度(单元格里有个iframe)。但是代码在拷贝到Visual Studio 2005里后,表格的高度不能自适应,即iframe在这个时候显示不全,只有设置了height为具体的象素值时表格的高度才改变。如果设置为百分比,不起任何作用。

    后来发现原来是Visual Studio 2005默认加了下面的这句话,即W3C的标准在作怪。将下面这段话注释掉后,页面就能显示完整的iframe了。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    但是如果非要加入W3C标准怎么办呢?于是在网上找了一段自适应高度的代码:

<html>

<head>

<title>...</title>

<script language="JavaScript" type="text/javascript">

function x(){

var y=""

y+='scrollHeight:'+document.body.scrollHeight;

y+=' offsetHeight:'+document.body.offsetHeight;

y+=' clientHeight:'+document.body.clientHeight;

//document.body.appendChild(document.createTextNode(y))

window.alert(y);

if(document.body.scrollHeight<document.body.offsetHeight)

{

mytab.height+=(document.body.offsetHeight-document.body.scrollHeight)

}

}

</script>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><style type="text/css">

<!--

body {

margin-top: 0px;

margin-bottom: 0px;

}

-->

</style></head>

<body onload="x();">

<table width="514" height="300" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#666666" id="mytab">

<tr>

<td> </td>

</tr>

</table>

</body>

</html>

posted @ 2007-06-10 17:19  bobomouse  阅读(4938)  评论(1编辑  收藏  举报