• ベストアンサー

CSSでメニュー作成

OS:WindowsXP ProXP2 現在ホームページを作成しています。 メニューを作ろうと思うのですがフレームは使いたくありません。 実現したいことは左にメニュー、右に内容を表示させようと考えています。(メニューはリンク先へジャンプしても変わりません) しかしCSS(float)を使って実現できそうなところまで調べたのですが、 この方法ではリンク先をページ毎に書かなくてはいけなくなってしまい、もし変更があった場合全ページを修正しなくてなりません。 メニューだけ外部ファイルなどにして呼び出す方法はあるのでしょうか? ご存知の方ご教示宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • elcude
  • ベストアンサー率72% (32/44)
回答No.2

すみません、記述ミスがありました。訂正します。 <script src="menu.js" text/javascript"></script> ↓ <script type="text/javascript" src="menu.js"></script> これであっていると思います。

その他の回答 (1)

  • elcude
  • ベストアンサー率72% (32/44)
回答No.1

■ 回答 ■ △ JavaScriptを使用して共通のメニュー表示用のxxxx.jsファイルを作り、各ページに貼り付けて読み込ませるというのはどうでしょうか。 ”ただ問題点として利用者側の環境によっては思い通りの表示がされない可能性があります。” × もう一つの方法としては、サーバーサイド言語を利用して共通のメニューパーツページを作って読み込ませる方法ですが、CGI/Perl、PHP、Java Servlet、ASP.NETなどの環境を整えないと実現できないので難しいですね・・・。 × Adobe Dreamweaverにライブラリの機能というものがありボタン一つでメニュー部分を変更したいときに変更することができますが、ソフトを購入しないといけないのでやはりJavaScriptでの実現がもっとも良い選択になるかもしれないですね。 ○ 状況を察するに大変ですが、幅広い利用者のことを考えたときはご自身でメニュー部分を変更したほうが良いかもしれません。 ■ 例 ■ xxx1.html xxx2.html xxx3.htmlなどがあります。それらの<head>タグ内に <script src="menu.js" text/javascript"></script>を記入。 menu.jsのmenuは当然ですがどのような名前でもいいです。お好みに。。 ■menu.js <ul> <li><a href="xxx1.html">めにゅー1</a></li> <li><a href="xxx2.html">めにゅー2</a></li> <li><a href="xxx3.html">めにゅー3</a></li> </ul> さいご落とし穴としてはファイルの置き場所です。例えばxxx3.htmlが表示されているページから見て、フォルダ内にある場合はxxx/xxx3.htmlとしてあげなくてはいけなかったり、あるいはxxx3.htmlからxxx1.htmlを読み出すときに../xxx1.htmlと変化します。 もし、すべてのファイルが同じフォルダ内にあるならば問題は無いですが、そうであるならばパス情報をmenu.jsファイルに送らなければいけないです。 もし、例えばあなたのWebサイトがhttp://yahoo.co.jp/であるとするならば、次のような記述方法でそれを解決することも可能かもしれません。試してみてください。 ■menu.js <ul> <li><a href="/xxx1.html">めにゅー1</a></li> <li><a href="/xxx2.html">めにゅー2</a></li> <li><a href="/xxx3.html">めにゅー3</a></li> </ul> 頭に/をつけるとアドレスの一番上を指すことになります。つまり、xxx3は <li><a href="/xxx/xxx3.html">めにゅー3</a></li> こうすればよいわけです。 うまくいかない場合は申し訳ないです。 もしこの回答でうまくできない場合はフリーソフトを探してみたりや検索エンジンでサンプルソースを探してみてはいかがでしょうか。

関連するQ&A