ELLIPTiCUS photography

  • ABOUT

  • PORTFOLIO

  • MATERIA

  • BOOKMARK

Recent entry

  • ただいま改装中
  • しばらく放置していてすみませんでした
  • 同一カテゴリで前後リンク+特定の記事のみ抜かす
  • We need peace
  • 北海道旅行記UPしました。

Tag list

accommodation bali browser camera Chiba css food Hakone Hokkaido hongkong info jQuery material MT4 MT5 Nagano plugin portfolio reply sightseeing taiwan Tokyo travel update webTech wordpress
COPYRIGHT (c) yuki/ELLIPTiCUS all right reserved.
August 4, 2009

float:left;の時のボックスセンタリング

»css, webTech

みなさん、超おひさしぶりです。この所忙しかったり、ホケっとしてたり、気がついたら年月が過ぎていました。なんだかなー。
さて、今日の話題はボックスのセンタリングです。なんだよー。誰でも知ってるよー。と思われたらごめんなさい。でも、意外な落とし穴あったりしました。

#containerやら#layoutやら、いわゆるベースになる部分にfloat:leftが入るとmargin:0 auto;とtext-align:center;ではセンタリングされなくなる時があるのです。中身をfloatさせてる場合、IEなら勝手に親要素で囲ってくれますが、firefoxなどのモダンブラウザは囲ってくれません。子供をfloatさせるなら親もfloat。子供が蛙なら親も蛙。失礼。
しかし、それをやると前述したようにセンタリングが出来なくなります。なんでじゃっ!!firefoxが崩れてるとバグじゃないかもと思うfirefox信者です。
ですので、この場合は#containerの役割を分けてあげる必要があります。

body{
margin:0px auto;
text-align:center;
}

#base{
width:100%;
margin:0 auto;
text-align:center;
}

#container{
width:749px;
margin:0 auto;
text-align:center;
}

上記のように#baseを噛ませます。#containerにfloat:left;入ってないやんっ!ええ。そうなんです。ここにfloat入れると元の木阿弥です。入れないことでcontainerがfloatしている子要素を囲ってくれるのです。しかし、まったく理解出来ません。そして、こんな事で躓いてるのは私だけのようです。ググっても出てこないよー。それともググり方が悪いのかー。とほほ。

そして、ほんっっっとうに写真撮ってないので、とうとう猫です。かわいいのですが、大食漢で横暴で人に媚びるのが上手な、およそ猫とかけ離れたオカマです。

« 浦安ブライトンホテル
今後の撮影予定 »
» Leave a Reply