• 締切済み

divのfloatのboth

たびたびすいません。 XHTMLを習いはじめました。 表を使わなくてレイアウトする方法をみていたら、 フッターは、bothをつけなければいけないと書いてありました。 タグは閉じているのに、なぜbothが必要なのでしょうか。

みんなの回答

回答No.1

恐らくCSSのフロートの件ではないかと推測します。 これはCSSのフロートの挙動が原因になっています。 CSSのフロートは基本的にposition:absolute;と自動的にマージンが指定されているような挙動をします。 ですから明示的にclear:buth;として自動的に配置されるマージンを回り込み対象よりも十分に大きく取らせなければ要素を閉じているにも拘らず回り込みがなされます。 通常のレイヤーには全く存在しないものになっていて上から重ねあわされているだけなので要素の終了とは関係有りません。 もしもpositon:absolute;が要素が終了しているからと後続の要素がその要素よりも下に表示されたらどうなるでしょうか? positon:absolute;の目的を達成する事が出来ません。 floatの場合も要素が終了しているからとそれ以降が回り込まなければ回り込みを達成する事が出来ません。 そういった理由で明示的にclearによって回り込みが解除されない限りまわりこみをし続けるのです。

関連するQ&A