プログラム

【CSS】要素を親要素の上下中央に表示する方法

picxpic

要素を親要素の上下中央に表示したい、ということはサイトを作っていてよくあると思います。

たとえば、テキストと画像が横並びになっていて、テキストの分量が増えても画像を上下中央に表示したい、という場合など。

そんなときの方法を紹介します。まずはHTMLから。
[html]
<div>

<p>こちらの分量が増えても、buttonを中央に表示したい</p>
<p><img src="button.gif" alt="ボタンの画像" ></p>

</div>
[/html]
次に、CSS
[css]
p{
display: table-cell;
vertical-align: middle;
 display:inline; //IE6,7対策
 zoom:1; //IE6,7対策
}
[/css]
display:table-cellで自動的に横並びになるので、floatなどは不要です。

なお、上記のCSSでdisplay:inline;とzoom:1;の前に全角スペースがあるのは、IE6、IE7だけに反映させるためのCSSハックです。

記事URLをコピーしました