我們試圖實現的視覺目標是一個水平菜單,其中一些鏈接可能跨越多行,但所有鏈接都應垂直居中。隨機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