floatプロパティを用いたCSSレイアウトのまとめ。
»サンプル
各float要素のボックスモデル※1の横幅の合計値が親要素のwidthプロパティと正確に一致するときはIE6,7・Firefox 3ともにカラム落ちは発生しない※2。
追記:IE6ではカラム落ちする事態が発生。overflow:hidden;で解決。
上述のようにIE7・Firefox3ともにボックスモデルの横幅の合計値が親要素のwidthプロパティと正確に一致するときはカラム落ちは発生しない。
IE6はフロートする最初の要素の左マージンを2倍の値に解釈する。複数個フローとさせる場合は2個目以上の要素は通常どおりの解釈をする。
対策はIE6のみフロートする最初の要素の左マージンのみ半分にする(IE6に対するCSSハック)。
フロートする要素の親要素のpadding-bottomで対応。
その他の対応策は下記のページが参考になる。
»正式版完全対応! Internet Explorer 7 CSS攻略法
親要素にclearfixを設定する。
どのブラウザも隣接する要素に対して垂直のマージンは相殺されるが、水平のマージンは相殺されない。
1 ボックスモデル width, padding, border, marginを含めた値
2 子要素のボックスモデルの幅がフロートを設定した要素の幅を超える場合、幅が自動拡大され、カラム落ちすることがある。
また長文の外国語では自動で折り返さないでボックスモデルが拡大することがある。
[…] CSSでfloatを用いたレイアウトの注意点 : CSS https://findxfine.com/programming/css/803.html カテゴリー: CSS, すべての記事 作成者: win201202 パーマリンク […]
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。