position: relative
does not work on table cells (<td>
or display: table-cell
).
From the spec: http://www.w3.org/TR/CSS21/visuren.html#propdef-position
The effect of 'position:relative' on table-row-group,
table-header-group, table-footer-group, table-row, table-column-group,
table-column, table-cell, and table-caption elements is undefined.
So, Firefox is doing nothing wrong, although I do wish it would copy other browsers and make this work.
To make this work, you need to add a wrapper div
inside each td
(and adjust your CSS selectors):
<table id="mainmenu">
<tr>
<td>
<div style="position: relative;">
<a href="#">..</a>
<ul>
..
</ul>
</div>
</td>
..
</tr>
</table>