※ ChatGPTを利用し、要約された質問です(原文:CSSで指定したblock要素の配置が、ブラウザ毎に異なるのを統一させ)
CSSで指定したblock要素の配置がブラウザ毎に異なるのを統一させたい
このQ&Aのポイント
CSSで指定したblock要素の配置が、ブラウザ毎に異なるのを統一させたい
下記のようなhtmlとcssで、マウスオン時に画像が切り替わる横型メニューを作成しました。画像の配置がWindows7以外のIEではずれる問題が発生しています。
OSやブラウザの振り分けをせずに同じCSSで対応する方法を探しています。具体的で細かい解答をお願いします。
CSSで指定したblock要素の配置が、ブラウザ毎に異なるのを統一させ
CSSで指定したblock要素の配置が、ブラウザ毎に異なるのを統一させたい
下記のようなhtmlとcssで、マウスオン時に画像が切り替わる横型メニューを作成しました。
※image/top_menu.gifには、ロゴと平常時メニューが全て含まれており、ロゴはブロック要素でハイパーリンク出来るようにしてあります。メニュー項目は、マウスオン時にオン用の画像を表示するようにしてあります。
<div id="top">
<ul>
<li class="logo"><a href="#"><span class="alt">logo</span></a></li>
</ul>
<div id="menu">
<ul>
<li class="home"><a href="index.html"><span class="alt">ホーム</span></a></li>
<li class="products"><a href="products.html"><span class="alt">商品情報</span></a></li>
</ul>
</div>
</div>
=============================以下CSS=============================
.alt {
display:none;
}
#top {
width:75em;
height:14.3em;
margin-left:auto;
margin-right:auto;
background:url(image/top_menu.gif) center no-repeat;
}
#menu {
width:74em;
position:static;
}
#menu ul {
padding:0 0 0 1em;
margin:0;
}
#menu li {
float:left;
}
#top ul {
padding:0 0 0 1em;
margin:0;
}
#top li {
list-style:none;
}
/*トップメニュー各項目(通常時)*/
li.logo a {
display:block;
margin-left:1em;
width:17.5em;
height:9em;
}
li.home a {
display:block;
width:14.1em;
height:4.5em;
margin-top:0.8em;
margin-left:1.3em;
}
li.products a {
display:block;
width:14.1em;
height:4.5em;
margin-top:0.8em;
}
/*トップメニュー各項目(マウスオン時)*/
.home a:hover {
background:url(image/on_home.gif) no-repeat;
}
.products a:hover {
background:url(image/on_products.gif) no-repeat;
}
FireFox、Safariでは意図した通りに表示されるのですが、
Windows7“以外の”IEでは、横位置は正常ですが、縦位置がずれてしまいます。
※どうやら、logoとmenuの間の余白が原因のようで、Windows7以外のIEにのみ余白が現れてしまうようです。
IE全体で異なるのであればまだ方法があると思うのですが、
「Windows7では今のままで、それ以外では表示位置を変えて・・・」
などと言うことが出来るのでしょうか?
本音を言うと、OSやブラウザの振り分けをせず、同じCSSで対応するのがベストなのですが。
出来るだけスマートな方法で解決したいと思っていますが、良い案が見つかりません。
どなたかご教授の程、よろしくお願いいたします。
※なお、CSSに関してはまだビギナーなので、出来るだけ具体的で細かい解答をお願いいたします。
お礼
ありがとうございます! 無事に解決されました! emの件はptに直しました。emの方が良いと言うような情報を目にした気がするのですが、あまりよろしくないのですね・・・ 何はともあれ、解決して良かったです! ありがとうございました!