家・車以外で、人生で一番奮発した買い物

お世話になります。
WinXPsp2+IE6の環境のみで再現する事象です。

高さ20pxの画像(img/menu_home_w100h20.gif)を、上にマージンを10pxとって配置しています。
都合20px+10pxで30pxの高さとなるはずですが、なぜか34pxあります。調べてみるとli要素がなぜか4px下に膨らんでしまっているようです。
ちなみにIE6以外のブラウザ(IE7、FireFox2、Opera9.1)ではいずれも30pxとなります。
この事象を回避する手段がありましたらご教授いただければ幸いです。

下記は拙いソースです。見づらくてすいません。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>無題ドキュメント</title>
<style type="text/css">
*{
margin:0px;
padding:0px;
}
html,body{
width:100%;
height:100%;
color:#663300;
}
.clear{
clear:both;
}
#box{
width:800px;
height:30px;
background-color:#FFFFCC;
position:absolute;
z-index:-1;
}
#menus{
display:block;
height:20px;
}
#menus li{
float:left;
display:block;
margin-left:15px;
height:20px;
background-color:#66FFFF;
list-style:none;
}
#menus li img{
margin-top:10px;
}

</style>
</head>

<body>
<div id="box">あ</div>
<ul id="menus">
<li><img src="img/menu_home_w100h20.gif" alt="ホーム" border="0" /></li>
</ul>

</body>
</html>

A 回答 (2件)

IE6だと画像の下に隙間が出来ますね。



回避策としては
<li><img style="vertical-align:bottom" src="img/menu_home_w100h20.gif" alt="ホーム" border="0" /></li>

でいかがでしょうか?
vertical-align:bottomで画像を下つきにすることで隙間がなくなるはずです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
ご教授いただいた内容で対処できました。助かりました!

#vertical-align:bottomは考えたのですが、li要素ではなくimg要素につけるべきだったんですね(汗

お礼日時:2008/02/03 20:05

こんにちは



img { display:block; }

とすればなくなりました
その際 li { width:20px; } か img { width:20px;height:20px; } が必要になります(Operaで li が元画像のwidth表示になってしまうため)
※画像表示が20*20で元画像が20*20以上の場合です 元画像を縮小表示しない場合はいりません

あとこちらで確認したところz-index:-1;としていたらFirefoxでboxが表示されていないようだったのですがそちらでは出てます?

#box{
z-index:1;
}
#menus {
position:absolute;
z-index:2;
}
#dummy {
height:***px;
}

<div id="dummy"></div>
<div id="box">あ</div>
以下続く

※position:absolute;すると高さが取れないので#dummyでダミーheightの調整をします
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
この手もあったのですね。大変参考になります。

>あとこちらで確認したところz-index:-1;としていたらFirefoxでboxが表示されていないようだったのですがそちらでは出てます?

FireFoxではboxが表示されませんね~。
ブラウザによっていろいろ違いますよね。

お礼日時:2008/02/03 20:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!