我试图创建一个简单的页面导航由三个部分组成: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