1
コンテナdivを別のdiv内に中央揃えしたい場合、コンテナの子divも中央揃えにする必要があります。子divは可変で予測不可能な幅です。例えば幅が指定されていない場合、親div内の左揃えの子divを中心に
:
<div>
<div class="container">
<div class="child"><img />Text</div>
<div class="child"><img />Text Widest</div>
<div class="child"><img />T</div>
</div>
</div>
私はFirefoxで動作するソリューションを見つけましたが、ユニバーサルソリューションが必要です。私はJavaScriptを使ってイメージ、テキスト、divを測定することも考えましたが、私はただCSSに気づかず、シンプルで洗練されたソリューションがあると確信しています。ここでは単にFirefoxでどのような作品です:
.container {
width: -moz-max-content;
margin: 0px auto 0px auto;
border-style: solid;
}
.child {
border-style: solid;
margin: 0px auto 0px auto;
}
最も外側のdivには100%の幅を持っている必要がありますか?それらのいずれかに固定幅を設定できる場合は、 'margin:0 auto;'が機能します。 – thepriebe
いいえ。最も外側のdivは幅が変わることがありますが、希望のレイアウトを得るためにコンテナdivのスタイルに固定またはパーセンテージの幅を設定する必要はありません。これを行う際の問題は、子divがその幅を超えてしまい、小さな幅を設定するときに折り返しが発生することです。もちろん、大きな固定/相対幅を設定すると、子divは単にコンテナの中央に表示されません。 –
これを見て、あなたのコードに 'span'と' display:inline-block; 'を追加する必要があるかどうか確認してください。 http://stackoverflow.com/questions/450903/make-css-div-width-equal-to-contents – thepriebe