如何使浮动元素居中?

我正在实现分页,它需要居中。问题是链接需要显示为块,所以它们需要浮动。但是,然后,文本对齐:居中对它们不起作用。我可以通过将wrapper div padding设置为left来实现它,但是每个页面都有不同的页数,所以这不起作用。这是我的密码:

.pagination{
文本对齐:居中;
}
.页码a{
显示:块;
宽度:30px;
高度:30px;
浮动:左;
左边距:3倍;
背景:url(/images/structure/pagination button.png);
}
.最后一页{
宽度:90px;
背景:url(/images/structure/pagination button last.png);
}
.先分页{
宽度:60px;
背景:url(/images/structure/pagination button first.png);
}
<div class='pagination'>
<a class='first'href=''>第一&lt/a>
<a href=''>1&lt/a>
<a href=''>2&lt/a>
<a href=''>3&lt/a>
<a class='last'href=''>最后&lt/a>
&lt/部门>
<!--结束:。分页--&gt

为了得到这个想法,我想要的是:

删除floats并使用inline block可以解决您的问题:

。分页a{
-显示:块;
+显示:内联块;
宽度:30px;
高度:30px;
-浮动:左;
左边距:3倍;
背景:url(/images/structure/pagination button.png);
}

(删除以-开头的行,并添加以+开头的行)

.pagination{
文本对齐:居中;
}
.页码a{
+显示:内联块;
宽度:30px;
高度:30px;
左边距:3倍;
背景:url(/images/structure/pagination button.png);
}
.最后一页{
宽度:90px;
背景:url(/images/structure/pagination button last.png);
}
.先分页{
宽度:60px;
背景:url(/images/structure/pagination button first.png);
}
<div class='pagination'>
<a class='first'href=''>第一&lt/a>
<a href=''>1&lt/a>
<a href=''>2&lt/a>
<a href=''>3&lt/a>
<a class='last'href=''>最后&lt/a>
&lt/部门>
<!--结束:。分页--&gt

内联块可以跨浏览器工作,即使在IE6上,只要元素最初是内联元素

引自quirksmode:

内联块是内联放置的(即与相邻内容在同一行上),但其行为类似于块

这通常可以有效地替代浮动:

此值的真正用途是当您希望为内联元素指定宽度时。在某些情况下,某些浏览器不允许在真正的内联元素上设置宽度,但如果您切换到display:inline block,则允许您设置宽度。“(http://www.quirksmode.org/css/display.html#inlineblock )

根据W3C规范:

[内联块]使元素生成内联级块容器。内联块的内部被格式化为块框,元素本身被格式化为原子内联级框

发表评论