ここに例があります
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% に引き伸ばされているように見えます。私がやりたいのは、その幅をフローティングの子に依存させることです。この場合、100px の 3 倍です。
これが欲しい理由は以下の通りです。柔軟なレイアウトで、サイズの異なるいくつかの子要素を含むコンテナーがあります。これらの子の幅と量はさまざまです。子供たちはいつも浮かんでいます。目標は、浮遊する子供たちを中心に置くことです。したがって、常に 1 つの子要素がある場合は、その margin-right と margin-left を auto に設定するだけです。ただし、並べて配置したい子がいくつかありますが、横に並べた後、その行をページの中央に配置したいと思います。子の量とそれぞれの幅が事前に決定されていないため、コンテナに固定幅を与えることはできません。
JavaScript でこれを行うことができると思いますが、純粋な css ソリューションがあるかどうか疑問に思います。ありがとう