Gizport
1 回答
0
Share (facebook)
168
view
全般

"HP作成・CSSに詳しい方" 1枚の画像でロー...

"HP作成・CSSに詳しい方"
1枚の画像でロールオーバーを設定する ホームページを作成しており、ナビゲーションバーのロールオーバーをcssを使って1枚の画像(「1つのボタンが150px×50pxで横一列に5つ」×3列)で設定したいと考えています。

動作としては通常・hover・currentの3つです。

ソースを下記の通り作ってみましたが、IEでは添付画像のように、Firefoxでは通常時の画像のみの表示でロールオーバーできず、safariでは画像が乱れる、という状況です。

そこで以下の2点についてご回答お願いします。

1.ソースのどの部分が間違っているのでしょう?
2.ソースをよりよく(後々で変更がしやすい、SEO的に好ましいなどの意味で)できれば教えてください

ご回答よろしくお願いします。

*注:HP作成初心者ですので極力わかりやすく説明お願いします。

HTML

<div id="g_navi">
<ul>
<li class="g_navi01_on"><a href="#">ホーム</a></li>
<li class="g_navi02"><a href="#">施設について</a></li>
<li class="g_navi03"><a href="#">コース</a></li>
<li class="g_navi04"><a href="#">お問い合わせ</a></li>
<li class="g_navi05"><a href="#">アクセス</a></li>
</ul>
</div>


CSS

@charset "Shift_JIS";
/* -+-+-+-+-+- Global Navi Style */
#g_navi {
width:750px;
height:50px;
background:url(image/topnav.gif) no-repeat;
margin:0 0 0 8px;
}

#g_navi ul {
padding:6px 0 0 6px;
}

#g_navi li {
display:inline;
list-style-type:none;
}

#g_navi li a {
widht:150px;
height:50px;
display:block;
float:left;
text-indent:-9877em;
text-decoration:none;
overflow:hidden;
}


/*--通常時*/
#g_navi li.g_navi01 a {
background:url(image/topnav.gif) no-repeat 0 0 ;
}

/*--中略*/

#g_navi li.g_navi05 a {
background:url(image/topnav.gif) no-repeat -600 0 ;
}



/*--hover時*/
#g_navi li.g_navi01 a:hover {
background:url(image/g_navi.gif) no-repeat 0px -50px;
}

/*--中略*/

#g_navi li.g_navi05 a:hover {
background:url(image/topnav.gif) no-repeat -600 -50px ;
}


/*--on時*/
#g_navi li.g_navi01_on a {
background:url(image/topnav.gif) no-repeat 0px -100px;
}

#g_navi li.g_navi05_on a {
background:url(image/topnav.gif) no-repeat -600 -100px ;
}
Yahoo!知恵袋 5345日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
current?

で、その見えている余分な部分はどこの背景?
<div id="g_navi">の背景じゃないですか? 必要ですか?
別の要素に背景をつけると、余白とか枠線分の幅とかでブラウザによって解釈の違うずれも生じますから、あまりやらないほうがいいですよ。

~_on……存在しないclass名は指定できていないと思いましょう。

参考にしたサンプルがあるなら、もう一度サンプルからリンク数の修正、画像の修正、と一つずつ修正して作成していくことをお勧めします。

×-600
○-600px
Yahoo!知恵袋 5340日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
53
Views
質問者が納得何の公式ウィジェットかよくわかりませんが、貼ってあるソースを見る限り、文字に線が出てくる可能性があるのは /* main(右フレーム) */ #main p{margin:0.5em 6em;padding:0;background:url(img/line.gif) repeat; #main li{margin:0;padding:0;background:url(img/line.gif) repeat;} のbackground:url(img/line,gif);の部分だけです。 このback...
4916日前view53
全般
83
Views
質問者が納得幾つか修正部分がありましたので、下記に直したものを書いておきます。 @charset "Shift_JIS"; /* 全体の設定 ---------------------------------------------------------------------*/ *{ margin : 0; padding : 0; font : 100%/160% Verdana,'MS Pゴシック',osaka,sans-serif; border : none; } /* スクロール...
5195日前view83
全般
30
Views
質問者が納得>数字の部分を④のように整数のみはそのまま、少数のある場合は3桁表示にしたいのですが・・・・ 文章と、上の例とが合ってないように思えますが、 上から4桁目を切り上げて、3ケタの全角数字での表示とする。 ただし、100g当たり1000円以上の場合は、小数点以下を切り上げて1の位まで表示する ということでしょうか。だとすれば長いですけれど =JIS(TEXT(ROUNDUP(B1/A1,2-INT(LOG(B1/A1))*(B1/A1<10))*100,"0"&IF(I...
5265日前view30
全般
54
Views
質問者が納得JIS関数で全角にすると文字列になりますね。 ユーザー定義 "100g当り "@"円" とされてはいかがでしょう。。。
5265日前view54
全般
40
Views
質問者が納得current? で、その見えている余分な部分はどこの背景? <div id="g_navi">の背景じゃないですか? 必要ですか? 別の要素に背景をつけると、余白とか枠線分の幅とかでブラウザによって解釈の違うずれも生じますから、あまりやらないほうがいいですよ。 ~_on……存在しないclass名は指定できていないと思いましょう。 参考にしたサンプルがあるなら、もう一度サンプルからリンク数の修正、画像の修正、と一つずつ修正して作成していくことをお勧めします。 ×-60
5345日前view40

関連製品のQ&A