• ベストアンサー

CSS z-index? ブラウザによって表示結果が異なってしまう。

<html> <head> <style type="text/css"> #bg{ width: 500px; background: #f8dce0; } #left{ float: left; z-index: 1; } #right{ float: right; z-index: 2; } #ans1_0,#ans1_1,#ans1_2{ color: #FF0000; } </style> </head> <body> <p id="bg"> test<br> <span id="left"> a<br> b<br> c<br> </span> <span id="right"> 1<br> 2<br> 3<br> </span> </p> </body> </html> 上記をIE,FireFox2,Operaで試してみると、FireFox2のみ期待した表示が得られません。 何が悪いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

z-Indexではなく、floatの影響です。 floatを使うと高さが0になるので、親要素の高さは、floatを使った部分の上までがその高さになります。 floatの後でclear:bothを入れればいいですが、 <br style="clear:both">よりも、clearfixという方法があります。 #bg:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; } #bg { display: inline-block; } /*\*/ * html #bg { height: 1% } #bg {display:block;} /**/ 個人的にはclearfix(clearの問題を解決)というクラス名をそのまま使うのはどうかと思うわけですよ。

kingfruits
質問者

お礼

talooさん、これで3度目のご回答です。 いつもありがとうございます。 <br style="clear:both">を入れる方が、記述量が少ないので、 こちらでいこうと思います。

その他の回答 (1)

  • gityotan
  • ベストアンサー率53% (23/43)
回答No.1

ピンク色を下まで伸ばしたいということであれば、 clearfixハックを使えば解決します。

参考URL:
http://www.google.co.jp/search?hl=ja&q=css+clearfix&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
kingfruits
質問者

お礼

ご回答ありがとうございました。 いただいたアドバイスで、期待通りの表示になりました。

関連するQ&A