
メイン画像とグローバルメニューの間に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用*/
}
こんな感じです。
なぜ、このような隙間が空いてしまうのか、改善方法を教えていただけないでしょうか?
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
img要素をブロック要素にするのはどうでしょう?
img {
display:block;
}
このソースだけではわかりませんが、もしもimg要素がbody直下に書かれているようであれば文法的にブロック要素(pなりdivなり)で囲ってやる必要があります。
あと、<div class="clear"></div>はたしか<div class="clear"><!-- 回り込み解除 --></div>のようにコメントアウトをいれないと上手く動かないブラウザがあったような気がします。
ご親切に説明していただきありがとうございます。
今まで、メニュー部分にしかdisplay:block;を使用したことがなかったので、img等にも使用できるとは知りませんでした。
ありがとうございます。
No.2
- 回答日時:
img{
vertical-align:bottom;
}
を足してみてください。メニュー部分とは多分関係ないです。
デフォルトではbaselineが多いですので。
解説すると、アルファベットのbaselineは下が揃ってますよね。これにgjpqyy等下にぴょこんと出た部分が今のすき間と言っておられる部分だと思います。日本語のしたはbaselineに合っているので、文字がないと画像がその分浮いた形で表示されるように見えます。
親切に教えていただきありがとうございます。
変な隙間を解消することができました。
グローバルメニューの上部に隙間が空いている場合でも、アルファベットのベースラインが関係してくるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
【CSS】ヘッダーの高さが不明の...
-
余分な縦スクロールバーが出て...
-
css初心者 フレックスボックス...
-
footer を横幅いっぱいに広げる...
-
押したらへっこむボタンのアイ...
-
CSSがなぜかfont-sizeだけ効か...
-
form input テキストを上下中央...
-
メイン画像とグローバルメニュ...
-
cssの複数指定の記述方法
-
CSSで画面サイズを縮小するとレ...
-
画像イメージの上下左右、欲し...
-
CSSと<dl><dd>で間隔をあけて1...
-
画像リンクの下に文字を付けた...
-
表示倍率を変えるとレイアウト...
-
Chrome だと、画像が少し下に...
-
float を使うと隙間ができる
-
cssでの幅の分割(固定・可変混...
-
横スクロールサイトの中央寄せ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
CSSがなぜかfont-sizeだけ効か...
-
form input テキストを上下中央...
-
【CSS】ヘッダーの高さが不明の...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
余分な縦スクロールバーが出て...
-
W3Cのソースコードの検証サービ...
-
表示倍率を変えるとレイアウト...
-
safariでの横並びリスト(List...
-
<div>と<div>の間の10px程の...
-
border-style:solidで文字がずれる
-
入力フォームとセレクトボック...
-
div内に外部のurlを表示させたい
-
divの中にspanを右寄せにするに...
-
dl,dt,ddタグでdtに対して、row...
-
divで囲まれたpaddingの指定を...
-
footer を横幅いっぱいに広げる...
-
CSSで指定した背景画像にリンク...
おすすめ情報