CSS 備忘録 | メシのタネ

このエントリーをはてなブックマークに追加

【Float】CSSの嫌いプロパティNo1

 2011/06/27

Floatが僕は嫌いです。

Floatしだすと、レイアウトがぶっ壊れるので、いつもドキドキでした。
最近は、パワープレーでぶっ壊れてもなんとかしてたんですけど、
対面のデザイナーに、ある時ソースを見られて、ありえねーこいつありえねーみたいに言われたので
ちゃんと覚えようと心に決めました。

そんな訳で、会社にあった専門書を拝借しまして、また一からCSSを覚えなおしております。

で、分かった事は

・floatはそもそもレイアウト用のプロパティじゃない
・clearは下の親要素に入れると表示が崩れる
・floatはbrockとして扱われる

ってことです。

・Clearは下の親要素に入れると表示が崩れる

表示が崩れると書いたんですけど、実際は違うのかもしれませんね。
頭の出来があんましよくないので、こうやって解釈した方が僕は分かりやすかった。
正確には崩れる可能性があるってことです。

思う様にfloatしてる親要素のBoxが上手く開かない。
あれってClearの指定位置が悪かったんです。

図にするとこんなん

下の要素っていうのは、この図で言うとpです。
親要素の外で、Clear使うと回り込みだけ解除されるので、
イメージだけは、親要素からはみ出ます。

でも、親要素内でclearを使えばこうなります。

新しくブロック要素を追加しないで、after使ってやるのが、今の流行っぽいです。
昔の流行を知ってるわけじゃないですけど、今の流行っぽいです。「clearfix」って奴らしいです。

・floatはブロックとして扱われる

コレも知らなかった。ただ、サイトに書いてある、IEの余白バグの回避方とやらを
そのまま実戦してただけなので、何で大丈夫なのか全く意味が分からなかったんですが、
CSS2,1の仕様で、Floatしたら、勝手にBrockになるみたいですね。
なので、どんどんInline指定しましょう。

IE6以外のブラウザだと、display:inline;?何書いてあるかわかんねーよ!ってなるらしいです。

こんだけで、マージン倍のIE6バグは回避できます。
なので、floatする場合常に書いておいたほうが良いかも知れないですね。


このエントリーをはてなブックマークに追加

コメント

"【Float】CSSの嫌いプロパティNo1"
でメシのタネのおすすめを検索したよ!

プログラミング備忘録 | メシのタネ