gpt4 book ai didi

html - 如何根据其他 div 或单元格的高度定义 div 或表格单元格的高度

转载 作者:行者123 更新时间:2023-11-28 19:07:20 25 4
gpt4 key购买 nike

我想要一个包含 3 个部分的网页:页面顶部的页眉、页脚(两者都有特定的像素高度)和页面的主要部分,应该是 div 或表格具有适当高度属性的单元格,以便占用它们之间的所有可用空间。我希望页面占据浏览器窗口高度的 100%,尽量避免滚动条。我遇到的问题如下:

使用 DIV

a) 如果我将 maindiv 高度设置为 100%,页面会溢出并且我会得到一个垂直滚动条。 (maindiv的高度设置为浏览器窗口的100%)

<!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>Untitled Document</title>
</head>
<style type="text/css">
<!--
body, html{
height: 100%;
max-height:100%;
width: 100%;
margin:0;
padding:0;
}
div{padding:0;margin:0;}
#containerdiv{height:100%;width:100%;background-color:#FF9;border:0;}
#headerdiv{height:150px;width:100%;background-color:#0F0;border:0;}
#footerdiv{height:50px;width:100%;background-color:#00F;border:0; }
#maindiv{
background-color:#F00;
height:100%;
}
div{border:#000 medium solid;border:0;}
</style>
<body>
<div id="containerdiv">
<div id="headerdiv">headerdiv</div>
<div id="maindiv">maindiv</div>
<div id="footerdiv">footerdiv</div>
</div>
</body>
</html>

b) 如果我将maindiv 高度设置为auto,maindiv 高度取决于它的内容,这不是我想要的。

使用表格

a) 如果我将主单元格高度设置为 100%,它在 Firefox 中工作正常,但在 Internet Explorer 8 中我得到一个垂直滚动条(您可以使用下一个代码块使用 th style="height:100%"而不是“自动”看到这个。)

b) 如果我将主单元格设置为自动,它似乎在 IE 和 FF 中都可以工作,但是我遇到了一个问题,即我放入主单元格(表或 div)中的任何东西都无法在 IE 中获得主单元格的完整高度。

<!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>Untitled Document</title>
</head>
<style type="text/css">
<!--
body, html, table{
height: 100%;
width: 100%;
margin:0;
padding:0;
}
table{border:#000 0px solid}
</style>
<body>
<table style="background:#063" cellpadding="0" cellspacing="0" border="0">
<tr><th style="height:150px;background-color:#FF0"></th></tr>
<tr>
<th style="height:auto"><table style="background:#0FF;" cellpadding="0" cellspacing="0" border="0"><tr><th style="height:auto">nested cell</th></tr></table>
</th>
</tr>
<tr><th style="height:50px;background-color:#FF0"></th></tr>
</table>
</body>
</html>

</html>

有什么想法吗?也许有一种更简单的方法可以使用 javascript 以像素为单位定义页面主要部分的大小? (我的 javascript 技能很差,所以欢迎任何帮助!)

最佳答案

除了使用百分比,您还可以使用 topbottom 属性定义 #centerdiv,例如:

#centerdiv {
position:absolute;
top: 160px; /*10px between header and this div at top*/
bottom: 60px; /*10px between footer and this div at bottom*/
width:100%;
background-color:#FF9;
border:0;
}

关于html - 如何根据其他 div 或单元格的高度定义 div 或表格单元格的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com