这是一个例子
http://jsfiddle.net/BringMeAnother/LwXhE/
// html
<div class="container clearfix">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
// css
.container {
background: red;
padding: 10px;
}
.child {
width: 100px;
height: 100px;
float: left;
}
.child:nth-child(even) {
background: green;
}
.child:nth-child(odd) {
background: blue;
}
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
带有红色背景的容器似乎总是拉伸到 100%。我想做的是让它的宽度取决于浮动的孩子,所以在这种情况下,3 乘以 100px。
我想要这个的原因如下。在灵活的布局中,我有一个容器,其中包含几个不同大小的子元素。这些孩子的宽度和数量可能会有所不同。孩子们总是漂浮着。目标是让漂浮的孩子居中。因此,如果我总是有一个子元素,我只需将其 margin-right 和 margin-left 设置为 auto。但是,我希望将几个孩子并排放置,但是在将它们水平排序后,我希望该行位于页面的中心。我不能给容器一个固定的宽度,因为孩子的数量和他们的每个宽度都没有提前确定。
我想我可以用 javascript 做到这一点,但我想知道是否有一个纯 css 解决方案。谢谢