Html 如何在Firefox中定位TD或TH中的元素而不发出警告?

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

我在表头单元格中使用绝对定位的元素。为此,必须将TH自身定位,使其成为子元素的offsetParent(在我的例子中,使用
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>