1

我想把一张桌子放在一张桌子里面,让它跨越整个东西高度的 100%,如果这有意义的话。

<table width="800" border="2">
<tr>
    <td width="66%">
        box 1
    </td>
    <td width="10" rowspan="2" />
    <td rowspan="2" height="100%" valign="top">
        <table width="100%" height="100%" bgcolor="yellow">
            <tr>
                <td>
                    box 2
                </td>
            </tr>
        </table>
    </td>
</tr>
<tr>
    <td>
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
        box 3 <br />
    </td>
</tr>
 </table>

基本上,我希望那个“黄色”表从父表的顶部到底部。我无法将其设置为固定高度,因为“Box 1”和“Box 3”的高度是动态的,基于其中的任何内容。

这可能吗?


只是删除了项目并再次添加它而不触及文件。哦

4

2 回答 2

0

完成这项工作的技术应该如下所示,但是,似乎 position:relative 对 TD 元素的影响未定义

CSS:

td#parent {
  position: relative;
}

table#inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

因此,您的解决方案是要么使用 Javascript 动态修改内部表格的高度和宽度,要么远离表格并使用 div 和 CSS。

于 2012-10-06T19:18:06.730 回答
0

切换这个:

<td rowspan="2" height="100%" valign="top">
        <table width="100%" height="100%" bgcolor="yellow">

对此:

<td rowspan="2" height="100%" valign="top" bgcolor="yellow">
        <table width="100%" height="100%">

将背景颜色放在 TD 父级而不是 TABLE 上会使整个区域显示为黄色。

编辑:

不幸的是,基于 % 的高度需要一些东西来引用,比如具有像素高度的父元素。如果父级具有 % 高度,则父级将需要引用像素高度(或层次结构的递归 %)。

基本上,您可能只能在某处以像素为单位完成所需的工作。

于 2012-10-06T18:50:51.017 回答