Oct04

Firefoxでの回り込みと背景が伸びない現象への対処法

Firefoxではdivなどの中にfloatをかけた要素を入れた場合、floatを解除しないと背景が伸びなかったり、継続要素の回り込みなどの現象がおこります。

それらの対処法をいくつかご紹介します。

1.HTMLのdiv要素の閉じタグの手前にfloatをクリアした要素を入れる。

※問題はないがソースが汚くなる。

 <div id="container"> 
 <img src="01.jpg" class="float_left" />
 <br clear="all" /> 
 </div>

2. オーバーフローをかける

※IEはスクロールバーがでるので控えたほうがいいかも。

div#container {
  overflow:auto;
}

3.after擬似クラスを使用する。

※現時点ではたぶんベストな方法

div#container:after {
  content : "";
  display : block;
  height : 0;
  clear : both;
} 

注意点として、2番目の方法ではIEの印刷プレビューで表示崩れが起こるので 印刷用CSSを用意する必要があります。

結論として自分的に、現段階では1.3番目の方法がベストなんじゃないかと思いました。

Related entries

Track back URL

http://www.u-ziq.com/cgi/mt/mt-tb.cgi/97

Coments

俺は前の会社で、随分この現象について悩んだな〜。いかんせんスペシャリストがいないもんで、背景が伸びない原因が何なのか全くわからなかったよ。結局1の方法で解決できたけど。

3の方法は恥ずかしながら全く意味がわかりませんわ。

after擬似クラスはIE6では効かないけどFirefoxでaタグが改行されないときとか、フッターのテキストリンクに”ホーム|お問い合わせ|”なんかの”|”のを入れるときに今後使われると思いますよ。

初めまして。
Firefoxではなぜ背景が繰り返されないのかと悩んでいました。
3の方法を導入したら、うまくいきました。
どうもありがとうございました。
私のブログの記事中でこちらを紹介させていただきましたので、気が向いたら来てくださいね。

ももさん>
はじめましてももさん。
リンクありがとうございます。
お花のコンテンツが豊富ですね~
仕事がらお花屋さんのサイトもよく手がけます。
また参考にさせていただきます!

1の方法はclearのためにHTML文書を変える必要があります
3の方法は見えないだけで存在している場合があります

そこで2の方法を修正した手法もあり、ほとんどのブラウザで問題がありませんでした。

http://kikky.net/pc/float_bg.html

Coments

▲TOP

FEED

RSS    

MOBILE

二次元コード