[CSS]IEで出現するfloatの空白をなくす方法

IE6などのIEシリーズでfloat:right;などを使うとでてくる謎の空白をなくす方法。
最近忘れっぽいので、メモ代わりに記述。

たとえば、

— CSS —

.contents{clear:both;}
.text{width:500px;float:left;}
.menu{width:200px;float:right;}

— HTML —

<div class="contents">
<div class="text">
ここに本文
</div>
<div class="menu">
<ul>
<li>メニュー1</li>
<li>メニュー2</li>
</ul>
</div>
</div>

となっている場合、IE6などで表示すると、下の画像のように.menu上に謎の空白ができてしまいますよね。

000000

そこで、スタイルシートに以下の記述を追加する。

— CSS —

.contents{clear:both;line-height:0;}
.text{width:500px;float:right;line-height:normal;}
.menu{width:200px;float:right;line-height:normal;}

floatを利用しているdivを囲ってる.contentsにline-height:0;を指定し、floatを使ってるdivにはline-height:normal;を指定します。

000001

すると、あら不思議、.menu上部にあった空白がなくなりました。

参考サイト:IE 6で泣かないための、9つのCSSハック



現場のプロから学ぶXHTML+CSS

著者/訳者:益子 貴寛 堀内 敬子 小林 信次 千貫 りこ 伊藤 学 山田 あかね 西畑 一馬

出版社:毎日コミュニケーションズ( 2008-11-11 )

定価:¥ 2,940

Amazon価格:¥ 2,940

単行本(ソフトカバー) ( 328 ページ )

ISBN-10 : 4839929734

ISBN-13 : 9784839929732


スポンサード リンク

Comments

コメントはまだありません。

コメントする

(必須)

(必須)