通常,包含display:inline-block
元素的元素占用可用宽度的100%,这样就可以了:
-----------------BODY------------------
| |
||-------------CONTAINER-------------||
||-INLINEBLOCK---INLINEBLOCK-- ||
|||____________||____________| ||
||-INLINEBLOCK-- ||
|||____________| ||
||___________________________________||
|_____________________________________|
说,相反,你想要收缩包装并使容器居中:
-----------------BODY------------------
| |
| |----------CONTAINER---------| |
| |-INLINEBLOCK---INLINEBLOCK--| |
| ||____________||____________|| |
| |-INLINEBLOCK-- | |
| ||____________| | |
| |____________________________| |
|_____________________________________|
据我所知,传统的CSS和required JavaScript hacks是不可能的。
使用flexbox可以解决这个问题吗?如果是这样,怎么样?
[图表从this question无耻地被盗。]
答案 0 :(得分:0)
使用body
作为Flex容器,然后container
成为弹性项目。
HTML:
<body>
<div class="container">
<span class="inline-block"></span>
<span class="inline-block"></span>
<span class="inline-block"></span>
</div>
</body>
CSS:
body{
display:flex;
justify-content:space-between;
}
.container{
margin:auto; // centers horizontally
}
.inline-block{
display:inline-block;
width:200px;
height:32px;
background:#ccc;
}
随意玩小提琴。不过,这应该会给你一个基本的想法。