Согласно CSS 2.1 спецификациям :
Влияние 'position :lative' на группу строк таблицы, группу заголовков таблицы, группу нижнего колонтитула таблицы, строку таблицы, группу столбцов таблицы, столбец таблицы, ячейку таблицы и таблицу -caption элементы не определены.
Я предполагаю, что Firefox реализует его одним способом, а WebKit реализует его другим способом, и оба они верны, поскольку он не определен. Мораль этой истории не в том, чтобы указывать позицию на элементах таблицы.
Мне удалось заставить его работать, обернув содержимое каждой ячейки таблицы div
и поместив div. Я также переместил оверлей внутри строки таблицы, на которую нацеливался (не уверен, было ли это необходимо).
<table>
<tr>
<td>
<div style="position:relative; z-index:1000;">
Displays on top in both Safari and Firefox
</div>
</td>
</tr>
<tr>
<td>
<div style="position:relative; z-index:1000;">
Displays on top in both Safari and Firefox
</div>
<span class="overlay"></span>
</td>
</tr>
<tr>
<td>Displays below overlay</td>
</tr>
<tr>
<td>Displays below overlay</td>
</tr>
<tr>
<td>Displays below overlay</td>
</tr>
</table>