Html 如何在Firefox中定位TD或TH中的元素而不发出警告?
我在表头单元格中使用绝对定位的元素。为此,必须将TH自身定位,使其成为子元素的offsetParent(在我的例子中,使用Html 如何在Firefox中定位TD或TH中的元素而不发出警告?,html,css,firefox,warnings,css-position,Html,Css,Firefox,Warnings,Css Position,我在表头单元格中使用绝对定位的元素。为此,必须将TH自身定位,使其成为子元素的offsetParent(在我的例子中,使用position:relative)。不幸的是,当前的Firefox版本似乎会在TD或TR被赋予非静态位置时发出警告 使用以下最小的HTML表 <table> <tr><th>head</th></tr> <tr><td>cell</td></tr> </tabl
position:relative
)。不幸的是,当前的Firefox版本似乎会在TD或TR被赋予非静态位置时发出警告
使用以下最小的HTML表
<table>
<tr><th>head</th></tr>
<tr><td>cell</td></tr>
</table>
此警告出现在Firefox 30和32的控制台中:
现在支持表行和行组的相对定位。此网站可能需要更新,因为它可能依赖于此功能
没有效果的
(当表格边框分开时,警告不会出现)
此消息的来源是:
因此,即使我们没有做错任何事,我们似乎也会收到这个警告,因为其他网站可能会依赖位置
规则“什么也不做”。有没有办法摆脱这个恼人的警告?它基本上是在告诉我:警告,你所做的实际上是有效的 你试过这个吗
<table>
<tr><th><span class="pos1">head</span></th></tr>
<tr><td><span class="pos2">cell</span></td></tr>
</table>
我收到了同样的警告,并通过将定位应用于th或td内的div而不是直接应用于td或th来解决它。不知道它为什么会在乎,但现在我不需要再看它了
td div{position:relative;}
<table>
<tr>
<td>
<div></div>
</td>
</tr>
</table>
td div{position:relative;}
即使您可以删除警告消息,但这并不意味着它将获得位置:相对
来处理表格单元格。根据CSS 2级规范,位置:relative
对表格单元格的影响,。。。未定义。@HashemQolami True,但警告本身和源注释表示FF现在支持定位表部件。消息来源的评论还表明,只有定位“表单元格以外的表部件”可能会导致损坏,我没有这样做。你的问题似乎在下面的线索中得到了回答:不是真的。在您的示例中,SPAN元素将相对于主体进行定位,这不是我需要的。即使您将相对位置添加到th和td?是的,但我再次收到警告:)无论如何,这似乎是Firefox中的一个bug,并且已经提交了一个补丁:
<table>
<tr><th><span class="pos1">head</span></th></tr>
<tr><td><span class="pos2">cell</span></td></tr>
</table>
.pos1{
position:abssolute;
top:25px /* example*/
}
.pos2{
position:abssolute;
top:10px /* example*/
}
td div{position:relative;}
<table>
<tr>
<td>
<div></div>
</td>
</tr>
</table>