CSS菜单在Firefox中无法正常显示(display:table-cell;)

3
HTML:
<td align="center" width="100%">
<a class="Forum_ib_moderate" href="Default.aspx" title="Moderate"></a>
<a class="Forum_ib_admin" href="Default.aspx" title="Admin"></a>
...

CSS:
A.Forum_ib_moderate:link, A.Forum_ib_moderate:visited, A.Forum_ib_moderate:active, A.Forum_ib_moderate:hover
{
background-image: url(images/ib_moderate.png);
background-repeat: no-repeat;
background-position: center;
padding-left: 2px;
padding-right: 2px;
padding-top: 8px;
padding-bottom: 0px;
height: 35px;
width: 35px;
display:table-cell;
}

A.Forum_ib_admin:hover
{
background-image: url(images/ib_admin_hover.png);

}

菜单在IE中看起来很好,但在Firefox中垂直显示。如果我在Firebug中关闭"display:table-cell;"样式,然后再打开它,就可以修复该菜单节点。

alt text

有什么想法吗?

附言:我不想去改动菜单本身,因为它是DNN论坛4.4.3的一部分。我更愿意修复CSS以使其正确显示。

4个回答

6
实际上,我认为您会发现IE之所以起作用是因为它忽略了display: table-cell display: table-cell 实际上是您的问题所在。
我猜测正在发生的是IE将其恢复为内联元素,因此呈水平状态。
将其更改为:
display: inline;

如果需要,可以添加一些填充(左右两侧),这样就可以得到您想要的效果。

或者,您可以将它们浮动(向左和/或向右)。

此外,它们已经在表格单元格中。但是,表格单元格的显示方式有点错误。


我知道这一定很容易 :) 谢谢 - roman m
是的,在表格单元格内直接显示另一个表格单元格是无效的,可能会发生任何事情。 - bobince

0
我们也遇到了这个问题。仍在寻找解决方案。在我们的情况下,我们需要保持 display: table-cell 布局。
看起来 Firefox 有时会随机地导致 table-cell 对象换行,而不是像实际表格一样运作。刷新可以解决问题,这使得调试更加困难。

0

看起来是一个简单的FireFox bug。我遇到了相反的问题:在Win XP上,FF 3.5.9中刷新后排列在下面的table-cell DIV。

我无法找到任何解决方案(将单元格包装成行,溢出隐藏等),只能将FireFox更新到3.6.3,并希望有少数用户使用该版本。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接