日期:2014-05-20  浏览次数:20562 次

|M| VS2005中如何设置让一个td 100%的高
如页面
newslist.aspx
<table   height= "100%>
    <tr>
        <td> head
        </td>
    </tr>
    <tr>
        <td   height= "100%>
              用户自定义控件listmain.ascx
        </td>
    </tr>
    <tr>
        <td> foot
        </td>
    </tr>
</table>
listmain.ascx
<table   height= "100% ">
    <tr>
        <td> 列表 </td>
    </tr>
    <tr   height=100%>
        <td   valign= "bottom "> 分页 </td>
    </tr>
</table>
我上面要求的就是listmain.ascx在newslist中占100%的高
然后分页显示在最下面
但我运行时分页那里的100%无效

------解决方案--------------------
这样:

<%@ Page Language= "C# "%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<script runat= "server ">

</script>
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head id= "Head1 " runat= "server ">
<style>
html,body,form{height:100%;margin:auto}
</style>
</head>
<body>
<form id= "form1 " runat= "server ">
<table height= "100%>
<tr>
<td> head
</td>
</tr>
<tr>
<td height= "100% ">
<table height= "100% " style= "background:red ">
<tr>
<td> 列表 </td>
</tr>
<tr height=100%>
<td valign= "bottom "> 分页 </td>
</tr>
</table>


</td>
</tr>
<tr>
<td> foot
</td>
</tr>
</table>


</form>
</body>
</html>

------解决方案--------------------
我上面要求的就是listmain.ascx在newslist中占100%的高
————————————————————————————————————————
你自己的理解不要强加给别人。你应该指出你的那种理解中的“head”、“foot”按照你的理解应该如何摆放,然后别人可以帮你看看有没有按照你那种理解的表示方法可以替换,而不应该摆出“反正我设置了100%你就应该显示为100%高,别的地方没办法摆放我不管”的孩子气逻辑,这不是理由。

如果给你把它显示100%,你又会指出table的100%或者head、foot没有显示等,那样每人相信你的问题是认真的了。
------解决方案--------------------
设置margion=0;然后设置height=100%就可以了

------解决方案--------------------
- -b
呵呵
“listmain.ascx在newslist中占100%的高”是没有道理的。
并不是指完全100%的高度了
html标签中,子容器的高宽值采取百分比,需要看父容器是否定义了高宽值。
譬如
html,body{
width:100%
height:100%;
}
div.sub
{
height:80%
}
应用sub
一开始body获取的高度是固定死了的avaible高度了,div.sub 才能获取80%的高度,不然这个百分比是无意义的
...
<body>
<div class=sub> </div>
</body>
....

很多情况下面有些人喜欢定义 <div style= "border:1px solid #000000;width:100% "> some text here </div>