アプリ版:「スタンプのみでお礼する」機能のリリースについて

メイン画像とグローバルメニューの間に3pxくらいの隙間が空きます。
マージンやpadding等をいじっても改善する事が出来ませんでした。
IE6・Firefoxとも同じ症状が出ます。
CSSを勉強中なので初歩的なミスかと思いますが、宜しくお願いします。

【HTML】
<!--メインイメージ開始-->
<img src="images/img.jpg" / alt="○○○ホームページ">
<!--メインイメージ終了-->

<!--回り込み解除-->
<div class="clear"></div>

<!--グローバルメニュー開始-->
<div id="glmenu">
<ul>
<li id="m_top"><a href="#">トップ</a></li>
<li id="m_menu_list"><a href="#">メニュー1</a></li>
<li id="m_store"><a href="#">メニュー2</a></li>
<li id="m_history"><a href="#">メニュー3</a></li>
<li id="m_check"><a href="#">メニュー4</a></li>
</ul>
</div>
<!--グローバルメニュー終了-->


【CSS】
/*=======メニュー全体=======*/
#glmenu{
width:630px;
height:40px;
margin:0;
padding:0;
position:relative;
}

#glmenu ul {
width:630px;
height:40px;
padding:0;
margin:0;
}

#glmenu li {
margin:0;
padding:0;
list-style-type:none;
float:left;
text-indent:-2000px;
}

/*=======トップ=======*/
#glmenu li#m_top a {
background:url(images/m_top.jpg);
width:126px;
height:40px;
display:block;
text-decoration:none;/*ネスケ用*/
outline:none;/*Firefox用*/
}

/*=======メニュー1=======*/
#glmenu li#m_menu_list a {
background:url(images/m_menu_list.jpg);
width:126px;
height:40px;
display:block;
text-decoration:none;/*ネスケ用*/
outline:none;/*Firefox用*/
}

/*=======メニュー2=======*/
#glmenu li#m_store a {
background:url(images/m_store.jpg);
width:126px;
height:40px;
display:block;
text-decoration:none;/*ネスケ用*/
outline:none;/*Firefox用*/
}

/*=======メニュー3=======*/
#glmenu li#m_history a {
background:url(images/m_history.jpg);
width:126px;
height:40px;
display:block;
text-decoration:none;/*ネスケ用*/
outline:none;/*Firefox用*/
}

/*=======メニュー4=======*/
#glmenu li#m_check a {
background:url(images/m_check.jpg);
width:126px;
height:40px;
display:block;
text-decoration:none;/*ネスケ用*/
outline:none;/*Firefox用*/
}

こんな感じです。
なぜ、このような隙間が空いてしまうのか、改善方法を教えていただけないでしょうか?
宜しくお願いします。

A 回答 (2件)

img要素をブロック要素にするのはどうでしょう?



img {
display:block;
}

このソースだけではわかりませんが、もしもimg要素がbody直下に書かれているようであれば文法的にブロック要素(pなりdivなり)で囲ってやる必要があります。

あと、<div class="clear"></div>はたしか<div class="clear"><!-- 回り込み解除 --></div>のようにコメントアウトをいれないと上手く動かないブラウザがあったような気がします。
    • good
    • 0
この回答へのお礼

ご親切に説明していただきありがとうございます。
今まで、メニュー部分にしかdisplay:block;を使用したことがなかったので、img等にも使用できるとは知りませんでした。
ありがとうございます。

お礼日時:2008/06/22 11:06

img{


vertical-align:bottom;
}
を足してみてください。メニュー部分とは多分関係ないです。

デフォルトではbaselineが多いですので。
解説すると、アルファベットのbaselineは下が揃ってますよね。これにgjpqyy等下にぴょこんと出た部分が今のすき間と言っておられる部分だと思います。日本語のしたはbaselineに合っているので、文字がないと画像がその分浮いた形で表示されるように見えます。
    • good
    • 0
この回答へのお礼

親切に教えていただきありがとうございます。
変な隙間を解消することができました。
グローバルメニューの上部に隙間が空いている場合でも、アルファベットのベースラインが関係してくるのでしょうか?

お礼日時:2008/06/22 11:03

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