我想在900像素的容器中均勻地拉伸6個導航項目,并且在兩者之間留有均勻的空白。例如...---| 900px Container |------| HOME ABOUT BASIC SERVICES SPECIALTY SERVICES OUR STAFF CONTACT US |---目前,我能找到的最佳方法如下:nav ul { width: 900px; margin: 0 auto;}nav li { line-height: 87px; float: left; text-align: center; width: 150px;}與此相關的問題有兩個。首先,它并不能真正證明其合理性,而是將li標簽均勻地分布在整個ul標簽中。在“ HOME”或“ ABOUT”等較小菜單項與“ BASIC SERVICES”等較大菜單項之間創建不均勻的空格。第二個問題是,如果導航項大于150px(特殊服務就是該布局),則布局會中斷,即使整個導航有足夠的空間也是如此。誰能為我解決這個問題?我一直在網上尋找解決方案,但它們似乎都不夠用。CSS / HTML僅在可能的情況下...謝謝!更新(13/29/29):使用表格單元是實現此布局的最佳現代方法。請參閱下面的felix答案。該table cell屬性當前可用于94%的瀏覽器。您必須對IE7及以下版本進行處理,否則應該可以。更新(13/30/13):不幸的是,如果您將此布局與Media Queries結合使用,則會有一個Webkit錯誤會對此產生影響。現在,您必須避免更改'display'屬性。 請參閱Webkit錯誤。更新(7/25/14):現在有一個更好的解決方案,涉及text-align:justify。使用它比較簡單,并且可以避免Webkit錯誤。
3 回答

交互式愛情
TA貢獻1712條經驗 獲得超3個贊
text-align:justify在容器上使用,這樣無論您列表中有多少個元素,它都將起作用(您不必為每個列表項計算%寬度)
#nav {
text-align: justify;
min-width: 500px;
}
#nav:after {
content: '';
display: inline-block;
width: 100%;
}
#nav li {
display: inline-block;
}
<ul id="nav">
<li><a href="#">HOME</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">BASIC SERVICES</a></li>
<li><a href="#">OUR STAFF</a></li>
<li><a href="#">CONTACT US</a></li>
</ul>
- 3 回答
- 0 關注
- 375 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消