【发布时间】:2012-01-30 20:54:12
【问题描述】:
我在几行上有一堆内联块元素,我想水平居中。 inline-block 元素都具有相同的固定大小,但我希望居中能够处理页面大小调整以及添加或删除元素。
为了清晰起见,我已经剥离了 html/css 并删除了居中的尝试。在http://jsfiddle.net/fe25H/1/
如果您调整结果窗口的大小以使第三个 inline-block 元素下降,则容器会填充宽度,我们会得到:
-----------------BODY------------------
| |
||-------------CONTAINER-------------||
||-INLINEBLOCK---INLINEBLOCK-- ||
|||____________||____________| ||
||-INLINEBLOCK-- ||
|||____________| ||
||___________________________________||
|_____________________________________|
而不是这样:
-----------------BODY------------------
| |
| |----------CONTAINER---------| |
| |-INLINEBLOCK---INLINEBLOCK--| |
| ||____________||____________|| |
| |-INLINEBLOCK-- | |
| ||____________| | |
| |____________________________| |
|_____________________________________|
根据 ptriek 关于 JavaScript 解决方案的回答进行编辑:
Ptriek 的代码是一个有用的起点;它适用于特定情况,但不适用于一般情况。我大部分都将它重写为更灵活(参见http://jsfiddle.net/fe25H/5/)。
【问题讨论】:
-
有趣的问题,非常好奇是否有针对此问题的非 JavaScript 解决方案...
-
一旦元素换行到下一行,容器将假定宽度为 100%。没有 Javascript,这是不可能的。
-
如果你使用伪元素来填充多余的空间呢?我目前正在尝试,但运气不佳。
标签: containers center css