acky info

連絡先

tips

web関係、制作関係でのよしなしごとを書いています。

CSSテクニック

positionを使ったCSSテクニック

フォームに関するCSSテクニック

疑似クラスを使ったCSSテクニック

リストのCSSテクニック

tableに関するCSSテクニック

左寄せ、中央寄せ、右寄せのCSSテクニック

display:inline-blockを使った中央寄せ

2009/9/19 IE用ハックの記述方法をまとめた

ブロック要素での中央寄せをする場合は幅を指定する必要がありますが、文章のブロックを中央寄せにしたい場合や、ページナビゲーションのように幅が可変してしまう場合などCSSであらかじめ幅を指定しておくことが難しい場合はdisplay:inline-blockを使うとうまく中央寄せできます。

下のサンプルのようにtext-align:center;だけで中央寄せの場合は行ごとに中央寄せになり、ブロック要素で中央寄せにした場合は幅が決まっているのでテキストの幅ちょうどで中央寄せにするのは困難です。

中央せ
インライン要素

中央せ
ブロック要素

inline-blockはインライン要素とブロック要素を併せ持ったような感じになります。
中央寄せをする場合にはインライン要素のように親要素にtext-align:centerを指定し、子要素にdisplay:inline-block;を指定します。
このままでは親要素のtext-align:centerを引き継ぐので子要素のテキストを左詰めにするためにtext-align:left;を指定しました。
このままではIE7以下に対応していないので、これらのブラウザに対応させるためには子要素に/display:inline;/zoom:1;を書き加えると対応します。

div {
text-align:center;
}

p{
display:inline-block;
text-align:left;
background:#999999;
/display:inline;
/zoom:1;
}

<div>
<p>中央せ<br />インラインブロック要素</p>
</div>

中央せ
インラインブロック要素

上のサンプルのようにテキストの幅ちょうどで中央寄せが出来ました。
親要素のtext-alignをleftやrightに変えると左寄せ、右寄せが出来ます。

左寄せ、中央寄せ、右寄せのCSSテクニック

お薦めの参考書

CSS、webデザイン学習書籍、参考書をアマゾンで購入する

Copyright (C) acky. All Rights Reserved.