在TD中使用位置相对/绝对?

我有以下代码:

<td style="position: relative; min-height: 60px; vertical-align: top;"> Contents of table cell, variable height, could be more than 60px; <div style="position: absolute; bottom: 0px;"> Notice </div> </td> 

这根本不起作用。 出于某种原因,位置:相对命令没有在TD上被读取,并且通知DIV被放置在页面底部的内容容器之外。 我试图把TD的所有内容放入DIV中,例如:

 <td> <div style="position: relative; min-height: 60px; vertical-align: top;"> Contents of table cell, variable height, could be more than 60px; <div style="position: absolute; bottom: 0px;"> Notice </div> </div> </td> 

但是,这造成了一个新问题。 由于表格单元格内容的高度是可变的,所以通知DIV并不总是在单元格的底部。 如果一个表单元格超出了60px的标记,但其他单元格都没有,那么在其他单元格中,通知DIV将在60px之下,而不是在底部。

这是因为根据CSS 2.1 , position: relative对于表格元素的效果是不确定的。 说明这一点, position: relative对于Chrome 13,但在Firefox 4上没有预期的效果。您的解决scheme是在您的内容中添加一个div ,并将position: relative对于该div而不是td 。 下面的例子说明了你在position: relative (1)对div好处),(2)对td (不好)以及最后(3)对于td (再次好)的div

在Firefox 4上

作为参考,这里是HTML源代码 。

这个技巧也适合,但在这种情况下,alignment属性(中间,底部等)将无法正常工作。

 <td style="display: block; position: relative;"> </td> 

关于你的第二次尝试,你尝试使用垂直alignment? 或

 <td valign="bottom"> 

或与CSS

 vertical-align:bottom 

表格单元格的内容可变高度可以超过60px;

 <div style="position: absolute; bottom: 0px;"> Notice </div> 

如果你做一个“显示:块”,也可以工作 在td上,破坏td的身份,但工作!