Asial Blog

Recruit! Asialで一緒に働きませんか?

【css】とっても簡単に画像を縦横中央寄せする方法

カテゴリ :
フロントエンド(HTML5)
タグ :
Tech
CSS
中央寄せ
センタリング
こんにちは。松田です。
最近はスマフォの案件を担当しておりhtmlとjavascriptばっかりいじっています。
先日、開発中のスマフォアプリで異常にメモリが消費される現象が起こり、これがタグの構造が深すぎると起きるのでは無いかという検証を行うために、出来るだけ少ないタグで画像を中央寄せさせたい場面がありました。
そこで弊社デザイナーのkamoさんに頼んだところ、なかなかカッコいい回答が返ってきたのでここに載せてしまいます。


まず画像をdivで囲みます。
  1. <div id="wrapper">
  2.   <img src="画像のパス" id="center-image" />
  3. </div>


次に以下の様にstyleを設定します。
  1. <style>
  2.  
  3. #wrapper {
  4.   width:500px;
  5.   height:500px;
  6.   line-height:500px; /* heightと同じ値 */
  7.   text-align:center;
  8.   vertical-align:middle;
  9. }
  10.  
  11. #center-image {
  12.   vertical-align:middle;
  13. }
  14.  
  15. </style>


ここまでの状態で表示すると下のようになります。


まだこの段階では縦の中央寄せができていませんね。
ここで、画像の両端に&nbsp;を入れます。
  1. <div id="wrapper">
  2.   &nbsp;<img src="画像のパス" id="center-image" />&nbsp;
  3. </div>


これで表示すると、



見事に縦横共にセンタリングされました!
ささっと表示を整えたい時に使えるので試してみてはいかがでしょうか。