<div class="wrapper">
<center>
<div class="example">
<font>(fontタグ)<br>centerタグの中のbox<br>
横200px 縦100px</font><br>
<span>span要素</span>
</div>
</center>
</div>
サンプルは、今回トラブルの原因になったcenterタグ(廃止タグ)を使っています。同じ廃止タグのfontタグは動作確認のみの付録です。centerタグは、その子孫要素をブロック用、インライン要素を問わずすべて中央揃えをさせるタグです。子要素のdiv(黄色のbox)も、その中のfont要素やspan要素も中央揃えになります。
このbox内のテキストのみを左揃えにするため、ソースを調べているうちにcenterタグに行き着きました。ここで安易にテキストのみを左揃えにするCSSを仕込んだのがトラブルの原因で、後になってそのことに気づきました。次のソースは、centerタグをそのままで残し、それにテキストのみを左揃えにするCSSのclassを指定しています。
center.left {
text-align:left;
}
結果は、テキストだけでなく、boxまで左揃えになってしまい、実際の例ではレイアウト崩れが起こりました。そして、同時にいろいろ手を加えていたこともあって、このCSS追加が影響していることに気づくまで相当時間がかかりました。
<div class="wrapper">
<div class="example2">
<span class="blue">(spanタグ)<br>divタグの中のbox<br>
横200px 縦100px</span><br>
<span>span要素</span>
</div>
</div>
サンプル(1)のCSS指定「class="example」に「margin:0 auto;」だけ加えています。
.example2 {
width:200px;
height:100px;
padding:5px;
border:1px solid orange;
background:yellow;
margin:0 auto;
}
見た目は変わりません。