我们试图实现的视觉目标是一个水平菜单,其中一些链接可能跨越多行,但所有链接都应垂直居中。随机Firefox使用显示器时的问题:表
在兼容的浏览器中,这可以通过使用display:table的CSS实现。样品标记:
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link<br />spanning lines</a></li>
<li><a href="#">Link</a></li>
</ul>
CSS:
ul {
display: table
}
ul li {
display:table-cell;
vertical-align:middle;
}
ul li a {
display: block;
}
这工作。大多数时候。但是,对于某些人而言,在Windows或OSX上使用某些版本的firefox 3.x(有时在初始页面加载时),这些LI将包装在其他人的下面。
页面重新加载可以在99%的时间内修复问题。
该错误很难重现。这似乎是随机的,至多。我无法在我的XP机器上实现它,但可以在OSX机器上稍微弹出一次。
视觉例如:
我们想要的:
link 1 link 2 link 3 link 4
我们得到什么,有时:
link 1 link 2 link 3
link 4
我不能找到太多提及这个问题,虽然我没碰到过这里提到的可能是相关的:
CSS menu broken in Firefox (display:table-cell;)
有没有人遇到过这个和/或知道可能是什么原因造成的?
根据[这篇文章](http://blog.themeforest.net/tutorials/vertical-centering-with-css/),你使用的方法不会在IE中工作。也许你应该考虑使用不同的垂直定心技术? – 2010-04-22 21:52:58
我很清楚IE的问题。 ; o)我们以不同的方式适应IE。 – 2010-04-23 16:51:15