- ベストアンサー
ロールオーバーで画像がずれない方法
- Webサイト作成時のグローバルナビゲーションのロールオーバーで画像が微妙にずれる問題についての解決方法を教えてください。
- フォトショップやHTML、CSSの使い方の問題かどうか分からず、アドバイスを求めています。
- それぞれの画像やテキストの作成方法、位置合わせ、カンバスサイズの設定などについて詳しく教えていただけると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
この様な作業は、画像までで後はテキストエディタを使うほうが楽ですね。(5)移行の手順はテキストエディタで行いましょう。 手順を追って説明しておきます。 たぶんtext-decorationのためでしょう。 [HTML]は 以下タブは_に置換してあるので戻してください。 <ul id="globalnavi"> _<li><a href="/index.html">TOP</a></li> _<li><a href="/product"></a></li> _<li><a href="/books"></a></li> _<li><a href="/information"></a></li> _<li><a href="/contact"></a></li> </ul> だけでよいです。 #globalnavi,#globalnavi li{ _display:block;list-style:none;/* ブロック要素に一旦変更 */ _margin: 0;padding: 0;/* 一旦消す */ _text-align:center;line-height:30px;/* 幅・高さの中心に来るように */ } #globalnavi li{ _width: 160px;height: 30px; _display:inline-block; /* よほど古いブラウザでない限りfloat:left;でないほうが良い */ } #globalnavi a { _display: block; _text-decoration: none; _width:100%;height:100%; _background: url(./img/menu-all.gif) no-repeat 0 0 ; _text-decoration: none; } #globalnavi a[href="/index.html"] { background-position: 0px 0px; } #globalnavi a[href="/product"]{ background-position: -160px 0px; } #globalnavi a[href="/books"]{ background-position: -320px 0px; } #globalnavi a[href="/information"]{ background-position: -480px 0px; } #globalnavi a[href="/contact"]{ background-position: -640px 0px; } #globalnavi a[href="/index.html"]:hover, #globalnavi a[href="/index.html"]:focus { background-position: 0px -30px; } #globalnavi a[href="/product"]:hover, #globalnavi a[href="/product"]:focus{ background-position: -160px -30px; } #globalnavi a[href="/books"]:hover, #globalnavi a[href="/books"]:focus{ background-position: -320px +30px; } #globalnavi a[href="/information"]:hover, #globalnavi a[href="/information"]:focus{ background-position: -480px -30px; } #globalnavi a[href="/contact"]:hover, #globalnavi a[href="/contact"]:focus{ background-position: -640px -30px; } ★ブラウザごとにpaddingやmarginの差があるので一旦消してください。 ★a要素はblockにしたのち、whidth,heightを100%にするほうが良いです、 これは先でリキッドデザインにしたときなどに書き換えなくてすむとか色々利点があります。 ★アクセスビリティ・ユーザビリティを考えるとli間にmarginをとるほうが良いです。 #globalnavi li{margin-left:4px;}/* #globalnaviに同系の背景色を指定すること。 ★idをつけるより要素セレクタのほうが絶対に楽です。今回は一枚の画像でしたがそれぞれに画像を用意した場合に次のように書けますから、後々のメンテナンスが楽です。 #globalnavi a[href="/index.html"] { background-image:url(./images/goTop.gif); } とかね。そうするとリストの順番を変えても良いでしょう。 ★マウス以外のアクセスを考えると:hoverと一緒に:focusも指定しておきましょう。 ★ついでに:activeと:visitedも記載順は :link :visited 以上二つは排他的なので順不同 :hover :focus :active; ★スタイルシートを書くポイント 1) 同じ師弟を何度も書かないように出来るだけグループ化する。 2) 継承するプロパティは繰り返し書かない。 3) 同じ系統の指定はまとめて一行にする。 width:100%;height:100% それだけで、一覧性が良くなってメンテナンスが楽になります。
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
わすれもの #globalnavi li{}に、position:relative;を追加しておくほうが良いです。
お礼
ありがとうございます。 追記しておきます!!
お礼
ありがとうございます!!