• ベストアンサー

CSSのことで迷子になってます。誰か教えて下さい。

CSSを使って各ページにメニューがあるページを作りたいのですが誰か教えて下さい。 パソコン初心者なもので・・・。 昨日まではHTMLのフレームを使うところまではいったのですが、それだとメニューをクリックした時にURLが変わりません。 URLが変わって、メニューに変更があった場合などは一箇所直せばすむようにしたいです。 誰か助けて下さい。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

>クリックした時にURLが変わりません。 ブラウザーのアドレスバー内の表示が変わらないということでしょうか? アドレスバーに表示されているのは、ページの構成のトップのアドレス(フレームならフレームを定義しているhtmlのアドレス)なので、ここをそれぞれのページのアドレスにしたいのであれば、トップに当たる部分をそれぞれのページにしないとなりません。 一方、 >メニューに変更があった場合などは一箇所直せばすむようにしたいです。 とのことなので、やっかいなのですが… >パソコン初心者なもので・・・。 も加味して考えると、各ページのコンテンツにiframeでメニューを表示させるのがよろしいかと思います。 (普通と逆の利用方法なので、ちょっと変かも知れませんが…) この場合、各ページにメニュー用のiframeを設定しておかなければならないので、一度はそれぞれのソースを修正する必要がありますが、メニュー表示の内容は同じファイルが表示されますので、内容変更の際はメニューファイルを修正しさえすれば全部に反映されることになります。 (最初の修正も、ほとんどコピペで済むと思います。) iframeを利用する場合、リンクのターゲットをトップに指定しておかないと、iframeの中にリンク先が表示されてしまいますので、ご注意ください。 今時の方法でやるなら、iframeも使わずに、メニュー表示部を<div>などにしておいて、Ajaxで読み込むとか、サーバ側で処理するなどの方法もありますが、今の質問者様には、すぐに実行するのには難しいかと思います。 なお、ご質問は >CSSを使って各ページにメニューがある~~ でしたが、CSSは各ページの表示スタイルを設定するものなので、内容についての制御はできません。一度、CSSの役割を調べ直してみてください。 メニューの表示位置やスタイルの設定などには、是非CSSをご利用なさるとよろしいかと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • abril
  • ベストアンサー率69% (388/560)
回答No.1

ご質問の内容が、先日既出の質問とほぼ同じですので、こちらを先ずお読みになってみると、ご希望を満たす為にはどの様な方法があるのか、という事がとりあえずわかると思います↓ http://oshiete1.goo.ne.jp/qa5050491.html なお、上記でも回答させて頂いていますが、「CSSを使って各ページにメニューがあるページを作」る事そのものは勿論可能ですが、残念ながらCSS”だけ”では; > URLが変わって、メニューに変更があった場合などは一箇所直せばすむように というご希望を実現する事はできません。CSSの担う役割が質問者様がご想像しているものとは違うからです(詳細は上記質問の方の回答を参照して下さい)。 > HTMLのフレームを使うところまではいったのですが、それだとメニューをクリックした時にURLが変わりません。 フレームとはそういうもの(フレーム内に別のHTMLファイルを呼び込んで遷移するが、URLとして表示されるのはあくまでフレーム構造そのもののファイルのパスのみ)ですので、フレームを使いつつ、メニューをクリックしたらURLが変わるというのは相反する状態の為、実現されません(フレーム構造のファイルからフレームを破棄してまた別のフレーム構造のファイルへ遷移するなら勿論その時点でURLは変わりますが…)。 ちなみに先程締め切られたご自身の質問 http://oshiete1.goo.ne.jp/qa5054958.html での、No.1・3様のご回答は理解できましたか?「あの」サイトのコンテンツは、クリックして遷移して行くファイル毎にメニュー部分を記述したソースもその都度含まれているだけの、何の変哲もない普通のHTMLファイルの連続で成り立っています。メニュー部分だけが独立したファイルとして管理(質問者様のお言葉でいうところの「固定」)されているわけではありません。テンプレートをコピペしながら一枚一枚別のHTMLファイルとして作成されているだけです。従って、あのサイトのコンテンツもメニューの内容が変わったりすれば、メニューが記載されている全てのHTMLファイルを全部修正しなければならない構造ですので…

spa-ce
質問者

お礼

早速、やってみます。 ホント、ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CSSについてです。 私は初心者で、HTMLはわかるのですが CSSが

    CSSについてです。 私は初心者で、HTMLはわかるのですが CSSがわかりません。 ページをたくさんつくってサイドメニューだけは、同じにしたいのでCSSでページの枠組みを作りたいです。どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • CSSを利用したテンプレート一覧の作成

    ローカルで、CSSを利用してテンプレート一覧を作りたいと思っています。 現状、以下のようなデスクトップ上にhtmlフォルダを作成し、menuページのリンクをクリックすると、tempフォルダ内に保存したテキストファイルが表示されるようなHTML(フレームページ)です。 ・htmlフォルダ  ├tempフォルダ(このフォルダ内にテキストファイルでテンプレートを個別に保存)  ├frame.html  ├menu.html  └temp.html    ┌frame.html───────────────┐  ┏━━━━━━┳━━━━━━━━━━━━━┓  ┃menu     ┃temp.html            ┃  ┃         ┃                   ┃  ┃あああ     ┃                   ┃  ┃かかか     ┃                   ┃  ┃たたた     ┃                   ┃  ┃         ┃                   ┃  ┃         ┃                   ┃  ┃         ┃                   ┃  ┃         ┃                   ┃  ┃         ┃                   ┃  ┃         ┃                   ┃  ┃         ┃                   ┃  ┃         ┃                   ┃  ┗━━━━━━┻━━━━━━━━━━━━━┛ たとえば、「あああ」をクリックしてtemp画面でテキストファイルを閲覧している状態の時に、リンク元がわかるように「あああ」の文字列を太字にする、もしくは文字列または背面の色が変わる、といった形にしたいのです。 それぞれ別の色のHTMLを用意するなどの方法も調べましたが、テンプレートの件数が増えてくると大変そうなので、CSSを利用してできる限りシンプルにしたいと思っています。 また、個人用でCSSも詳しくないので、できるだけ簡単に実現できる方法を教えていただけませんでしょうか? よろしくお願いいたします。

  • CSSの擬似フレームでのリンク方について

    今まではHTMLでフレームを使っていたのですが、勉強になりそうなので、CSSを使って擬似フレームでサイトを作ってみることにしました。 だいたいのカタチは出来たのですが、リンク時に疑問が。 HTMLの時のように、リンク先をどこに表示するか名前指定でリンクすればいいと考えていたのですが、CSSでは実際は1つのページなので、名前指定というわけにはいきませんよね? リンクするときは新しいページに飛ぶ時・ページ内にリンクするとき以外は、擬似フレームのメニュー部を同じように記載したページを複製して、メイン部分を変えていくという解釈で良いのでしょうか? 回答、お願いします。

    • ベストアンサー
    • HTML
  • ホームページのメニュー作成で

    ホームページをヒームページビルダー13の標準モードで作成しています(初心者です)。 フレームを3段に分けて真ん中のフレームをメニューとして作っていますがメニューへマウスを置くと画像が変わるロールオーバーにしたのですが、 クリックしてページを表示した時にそのページにあたるメニューの項目がマウスを置いた時の画像(または別画像)になり、 どのメニューのページが表示されているのか分かるよようにできればと思っています。 一つ一つのページのメニューを変更し登録をする以外に方法があるのでしょうか?(CSS等?) フレームを使う事で不都合があるようでしたら、変更することも可能です。 アドバイスを宜しくお願いします。

  • CSSでこんなことしたい

    CSS初心者です。 HPをこんどCSSを使って作成したいと思っています。 で、いろいろなページを参考に独自でがんばろうと… そんな状況ですが、ページ内のメニューにマウスを持っていったときに メニューが増えるようにするにはどうすればいいのですか? そんなCSSがあるのでしょうか?

  • CSSでフレーム

    ご存知の方いらっしゃいましたらお教えください。CSSを利用してフレームのような動作をさせるにはどうすればいいのでしょうか?たとえばフレームにおいて仮にナビを左に、メインページを右にしてある場合、ナビのリンクのアクションがメインフレームへ該当するHTMLファイルを呼び出しますが、CSSでこの動作をさせることが出来るのでしょうか。参考になるHPなどございましたらお教えください。よろしくお願いします。

  • CSSでのページ構築について

    CSSでのページ構築について CSSでのサイト制作に挑戦しています。 まずは、テンプレートをつかってカスタマイズしてみようとおもい、テンプレートをDLしました。 「フッタ/左メニュー/メインコンテンツ/フッタ」というブログなどでよくあるものです。 (縦三段で、真ん中が左右2つに別れている2カラム) CSSファイルは、外部読み込み形式です。 トップページを作って、いざメニューからメインページのリンクを貼ろうと思ってつまずきました。 左ページのコンテンツメニューに設定したリンクを、右側の枠内に表示したいのですが、そういった場合は、どうすれよいでしょうか。普通に右側の内容をいれたHTMLにリンクすると、全画面がそのページになってしまって、ヘッダ/左メニュー/フッタは消えて(隠れて)しまいます。 ヘッダや左メニューをそのままにしてページ数を増やしたいときは、トップページをひたすらコピーして、右側の要素部分だけを変更していくのでしょうか? でも、それだとCSSにする意味がないというか、全然楽ではないですよね。 左メニューの項目が増えた時など、全ページを修正しなければならなくなりますし。 自分なりにCSS関連のサイトを検索して調べてみたのですが、どこも「トップページをそのままコピーしているようにしかみえない」のです。 右側ページ内容のHTMLに、ヘッダやメニューも読み込ませるような設定が必要なのでしょうか? ソフトはDW CS4を使っています。 どなたか、CSSの達人さま、教えてくださいませ。 お願い致します。

  • htmlとcssを使ったメニューバー

    HPのメニューバーをhtmlとcssを使用して作成したいのですが、どういう風に調べてよいのかもわからないので、アドバイスだけでもいいので教えてもらえると助かります。 例えば下のようなメニューを作成するとします。 (「□トップ」という一つ一つの画像だと思ってください) □トップ □日記 □写真 □リンク これをフレームページの左側に表示させます。 トップページを右側に表示させている時、メニューのトップというところの画像がいれかわり、 ■トップ □日記 □写真 □リンク 上のように表示させ、日記ページを右側に表示させている時も同様に □トップ ■日記 □写真 □リンク と、現在見ているページのメニュー画像のみを入れ変えるという設定にしたいです。 できるのなら、cssとhtmlの記述例を教えてくださると大変助かります。 よろしくお願いします。

  • HTML+CSSについて質問です

    当方のHPは左サイドにメニューリスト、中央部分に記事を書いている2カラムです。また、ページ数は100ページくらいありますが左サイドのメニューリストは全て共通となっています。左サイドのメニューリストは定期的に更新しているのですが、一つの項目を追加したい(削除したい)場合、全てのページの左サイドメニューを更新しなければならず、かなりの手間がかかってしまいます。なので、左サイドメニューは独立したHTMLを作成し、更新の手間がかからないような形にしたいと考えています。このようなHTML+CSSを作成する場合、どのようにすればよろしいのでしょうか?また、参考になるサイトがあればご教授よろしくお願いします。ちなみに当方のHPを作成する知識は、基本的なタグやCSSがわかる程度の初心者レベルです。

    • ベストアンサー
    • HTML
  • frameでのcssの変更する方法

    frameを使ってmain.html、menu.htmlを表示し、menu.htmlからmain.htmlのcss(外部)を変更する方法を教えてください。 frameのnameはmain.html→main、menu.html→menu、main.htmlのcssのidはmain、で指定してあります。 以下サンプルです frame.html <html> <head> </head> <frameset rows="50,*"> <frame src=main.html name="main"> <frame src=menu.html name="menu"> </frameset> </html> main.html <html> <head> <link rel="stylesheet" type="text/css" href="a.css" id="main"> ←(a.cssをb.css変更したい) </head> <body> </body> </html> menu.html <html> <head> </head> <body> </body> <a href="#">変更トリガー</a> </html>