Html 在TD内使用相对/绝对位置?
我有以下代码:Html 在TD内使用相对/绝对位置?,html,position,html-table,Html,Position,Html Table,我有以下代码: <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 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>
表格单元格的内容,高度可变,可大于60px;
通知
这根本不起作用。出于某种原因,TD上没有读取position:relative命令,而notice 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>
表格单元格的内容,高度可变,可大于60px;
通知
然而,这带来了一个新问题。由于表格单元格内容的高度是可变的,所以notice DIV并不总是位于单元格的底部。如果表格单元格超出了60px标记,但其他单元格都没有,那么在其他单元格中,通知DIV位于60px下方,而不是底部。关于第二次尝试,您是否尝试使用垂直对齐? 或者
这是因为根据,未定义
position:relative
对表元素的影响。为了说明这一点,position:relative
在Chrome13上有理想的效果,但在Firefox4上没有。您的解决方案是在内容周围添加一个div
,并将位置:relative
放在div
上,而不是td
。以下说明了使用位置得到的结果:相对(1)在div
良好上,(2)在td
上(不好),最后(3)在td
内部的div
(再次良好)
绝对跨度
相对div
如果您在td上执行“显示:阻止;”操作,销毁td标识,也会起作用,但会起作用
表格单元格的内容,高度可变,可大于60px
<div style="position: absolute; bottom: 0px;">
Notice
</div>
通知
此技巧也适用,但在这种情况下,对齐属性(中间、底部等)将不起作用
<td style="display: block; position: relative;">
</td>
是否有使用该表的理由?我假设表的其余内容将移动此单元格的内容。如果表格是必需的,您可以使用两行,顶部为valign=top,底部为valign=bottom。如果您使用表格进行布局,我建议您不要这样做。使用表格来显示数据是可以的,但它们并不适合于布局。它适合于日历。。。所以一个表格网格是必不可少的:那是行不通的。。。如果我这样做,那么表格单元格的内容将与底部相隔60像素;而不是在顶部。div高度不会是100%,因此相对于底部的相对位置:0没有任何影响。请注意,本例中的“绝对跨度”不会影响td高度,这基本上使表的使用变得无用。@Softlion:将td
的整个内容包装在div
中如何,设置为width:100%
和height:100%
,应用从td到div的任何填充,并将其设置为relative
?其想法是在td
上方创建一个薄的包含层,其作用类似于td
本身,但它是一个div
。它对我有效。HTML源代码的链接已失效。你能更新/刷新它吗?对于那些在2019年或之后找到这个答案的人来说:虽然CSS2.1确实说position:relative
对内部表格部件的影响没有定义,但这意味着表格部件本身的行为(例如,在边框折叠:折叠
的情况下,如果通过位置:相对
移动td
的边框,那么它应该如何表现还不清楚)。它没有将它们排除在绝对定位的子体之外。因此Firefox的行为只是一个bug,在2014年修复。
<div style="position: absolute; bottom: 0px;">
Notice
</div>
<td style="display: block; position: relative;">
</td>