我一直对要填充浏览器窗口的表格有问题。它有 3 列宽,5 行高。我想要的结果是每个单元格是屏幕宽度的 33%,每个单元格是屏幕高度的 20%。没有固定值,而是我想用百分比来做所有事情,以便它调整大小/拉伸以始终填充浏览器。
问题是,当我调整浏览器的大小时,尽管宽度工作得很好,但高度却不一样。即使我已将每个 TR 行指定为 20% 高,但它并没有以这种方式工作。发生的情况是屏幕的下半部分仍然是空的,并且 5 行没有遵循我指定的 20% 高度。在一个奇怪的例子中(在尝试的时候),第一行是高度的 50%,另外 50% 是底部的 4 行。目前(如下所示),这 5 行占据了大约 60% 的屏幕高度,剩余的 40% 未使用。我有没有提到我讨厌 CSS?
这是表格:
<div id="portrait" style="width:100%;height:100%;">
<table cellpadding=0 cellspacing=0 border=1 style="width:100%;height:100%;">
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
<tr style="width:100%;height:20%;">
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
<td style="width:33%;height:100%;"><img style="width:100%;height:100%;" src="x.jpg"></td>
</tr>
</table>
</div>
在每个级别中,我都定义了宽度和高度,然后在内部定义了一个相对百分比,同时牢记父容器。在最内层,即图像标签所在的位置,它被设置为 100%x100%,以便填充它的容器(宽度为 TD 中定义的 33%,高度为 TR 中定义的 20%)。
就第一张图片而言,这是我阅读上面的 html 的方式。div 设置为使用浏览器宽度的 100% 和高度的 100%。它只包含一个项目,一个表。该表被定义为 100%x100%,但这当然受到它的父容器 - div 的限制,但由于它也是 100%x100%,所以表应该是完整的浏览器大小(恕我直言)。TR 定义宽度为 100%,因此它填充了浏览器的宽度。它设置为 20% 的高度,所以我相信这意味着它应该固定在桌子高度的 20%,即屏幕 100% 的 20%。TD 定义为 33% 宽度(3 列 33% 填充浏览器)和高度 100%(此列将填充其父 TR 的 100%,设置为浏览器高度的 20%)。最后,图像设置为填充它的 TR/TD,因此设置为 100%x100%。