在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
。
作为参考,这里是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的身份,但工作!