回答:
親divに幅がないか幅が広く、子divの幅が狭いと想定しています。次の例では、上部と下部のマージンをゼロに設定し、側面を自動的に合わせます。これにより、divが中央に配置されます。
div#child {
margin: 0 auto;
}
text-align: center;
ではparent
div を設定してから、divを左(または何でも)に戻す必要がありますchild
。その問題がIE6に
child
チェックしたIEのすべてのバージョン(IE6-8)で、標準に準拠しているブラウザーと比較して、divが左にシフトしているように見えました。そしてtext-align: center;
用parent
とtext-align: left;
するためにはchild
、すべてのこれらのバージョンのためにそれを修正しました。
<div id='parent' style='width: 100%;text-align:center;'>
<div id='child' style='width:50px; height:100px;margin:0px auto;'>Text</div>
</div>
text-align:left;
#child divのに
text-align:center
子divまたは親divに?
ちょうど興味があって、2つ以上のdivを中央に配置したい場合(中央に並べて配置する場合)は、次のようにします。
<div style="text-align:center;">
<div style="border:1px solid #000; display:inline-block;">Div 1</div>
<div style="border:1px solid red; display:inline-block;">Div 2</div>
</div>
<div id='child' style='width: 50px; height: 100px; margin:0 auto;'>Text</div>