我試圖創建一個簡單的頁面導航由三個部分組成:CSS:如何對齊居中元素周圍的元素?
- 幾個以前的頁碼(如果有的話)
- 當前頁碼(這必須居中)
- 幾個即將到來頁碼(如果有的話)
重要的是當前頁碼始終在父容器中居中居中。另外兩個部分應均勻佔據剩餘的水平空間。
這JSFiddle說明了我的兩個嘗試解決這個問題。使用text-align: center
。這達到了預期的結果,但只有兩邊的寬度相等。如果不是,當前頁碼將不在中心。
HTML
<div class="container">
<input type="button" value="47">
<input type="button" value="48">
<input type="button" value="49">
<input type="text" size="5" maxlength="5" value="50">
<input type="button" value="51">
<input type="button" value="52">
<input type="button" value="53">
</div>
CSS
.container, input {
text-align: center;
}
溶液2:使用手動指定的寬度,以均勻地分佈的水平空間。這在所有情況下有效地居中當前頁碼,但它要求您硬編碼寬度。
HTML
<div class="container">
<div class="left">
<input type="button" value="47">
<input type="button" value="48">
<input type="button" value="49">
</div>
<div class="right">
<input type="button" value="51">
<input type="button" value="52">
<input type="button" value="53">
</div>
<div class="center">
<input type="text" size="5" maxlength="5" value="50">
</div>
</div>
CSS
.left {
width: 40%;
float: left;
text-align: right;
}
.right {
width: 40%;
float: right;
text-align: left;
}
.center {
width: 20%;
margin-left: 40%;
}
這些解決方案都真正做我想做的。有什麼辦法讓當前頁碼居中,同時允許其他元素對齊到其自然大小,而不是任意像素或百分比寬度?
我與你撥弄來顯示它的工作原理,當雙方都不均勻,與使雙方堅持中(沒有空格)http://jsfiddle.net/aaa01Lh2/2/很好的解決方案發揮各地! –
謝謝,它是'table-layout:fixed;'做這個工作,如果你問。 – Stickers