• ベストアンサー

レイヤーの位置を固定する方法

メニューにマウスをのせたら、その下にサブメニューが表示されるようにしたいと思っています。 (TOYOTAの2階層目以降のような感じです) Flashは使わずレイヤーで作っているのですが、ブラウザを全画面に大きくして見るとちゃんとした位置に表示されていても、小さくするとレイヤーの部分が右にずれてしまうのです。 メニューボタンの下にそれぞれレイヤーを作っており、タグは<div>を使用しています。 また、Dreamweaver8を使っていて、レイヤーの左・上からの位置を適当にpxで指定しています。 常に同じ場所にレイヤーが表示されるようにするには、どうしたらいいのでしょうか。 わかりづらいかと思いますが、よろしくお願いいたします。

  • HTML
  • 回答数3
  • ありがとう数2

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

  • ベストアンサー
  • quads
  • ベストアンサー率35% (90/257)
回答No.1

> Flashは使わずレイヤーで作っているのですが、ブラウザを全画面に大きくして見るとちゃんとした位置に表示されていても、小さくするとレイヤーの部分が右にずれてしまうのです。 実際に作成されたものを提示していただかないと検証のしようがありません。 > 常に同じ場所にレイヤーが表示されるようにするには、どうしたらいいのでしょうか。 レイヤーというものが何を指すのか不明確ですが、position関連プロパティを用いることで実現可能なように思います。

mucchi-10
質問者

お礼

ありがとうございます。 お教えいただいたように、「position」をabsoluteからrelativeに変えて、ブラウザを見ながら調整したところ、うまくいきました。 助かりました。

その他の回答 (2)

  • ICHI-yan
  • ベストアンサー率33% (45/134)
回答No.3

すいません、用語が頭の中で誤変換してしまいました プルオーバー × プルダウン  ○ マウスオーバーと混じってしまいました。お詫びして訂正します。

mucchi-10
質問者

お礼

どうもありがとうございました。

  • ICHI-yan
  • ベストアンサー率33% (45/134)
回答No.2

ご希望のメニュー形式を、ドロップダウンメニューとかプルオーバーメニューとかいいます。 その検索用語で調べられると、やり方がいっぱいでてきます。レイヤーが何をさすのかがわかりません。オンマウスでサブメニューがずれるということは、オンマウス部と一体化ができていないのかなと思います。 ソースを出すなり、作りかけのページを見せていただくなりしないと、抽象的なアドバイスしかできないです。

関連するQ&A

  • プルダウンメニューの位置がずれてしまいます

    質問させてください。 メニューボタンにマウスオーバーすると下にサブメニューが表示される、プルダウンメニューを作成しています。(階層メニューというのでしょうか?) Dreamweaverでレイヤーを使って作っているのですが、サブメニューの表示位置がずれてしまって困っています。 以前ご質問させていただき、一番外のTableを中央揃えにしているため、レイヤーの「position」が”absolute”だと画面の大きさによって位置が変わってしまうことがわかりました。 そこで”relative”にすればいいのかと思ったのですが、そうするとDreamweaverの「レイヤー」(←表示/非表示やz-indexを設定したりするプロパティ)から消えてしまうのです。 たぶん、レイヤーとして認識されていないのだと思います。 自分なりに調べ、Javascriptでブラウザの幅-Tableの幅÷2を求め、そこを基点にして”absolute”にすればいいというところまではわかったのですが、知識不足のためいろいろ試してみてもJavascriptエラーになってしまって・・・。 どのように書けばいいのかお教えいただけると、大変助かります。 よろしくお願いいたします。

  • レイヤーの位置固定ができません

    HTMLレイヤーがサンプルページのように、ウインドウサイズを変えても 同じオブジェクト(例えばテーブルなど)の下に同じ位置で固定される やり方を教えてください。 また、フレーム切ったページでも、上記のように同じ位置で表示させるやり方も お願いしますm(._.)m サンプルページでは、右上の下矢印にマウスをあてると、下にレイヤーが 表示されます。ウインドウサイズを変えても、ちゃんと題名の下に表示 されます。 サンプルページ(カゴメホームページ) http://www.kagome.co.jp/ よろしくお願い致します。

    • ベストアンサー
    • HTML
  • レイヤーの固定の方法

    レイヤーの対して、「position:absolute」を指定すると、親要素の位置を 基準に配置場所が決まりますよね。 ある画像を画面のセンター揃えにした場合、自動的に画面のセンターに表示 されるようになります。これだと画面のサイズによって画像の座標が変わって しまいます。 今は<BODY>タグが親要素となっているため、レイヤーの位置が画面のサイズに よって違ってしまいます。(つまり画面の上から40px、横から100pxという指定) 画面のサイズによって座標が変わる親要素からレイヤーの位置を指定したいのですが、その方法がわかりません。 解決策を教えてください。 果たしてこの説明で意味が伝わったでしょうか??心配…。

    • 締切済み
    • CSS
  • DreamweaverのレイヤーとDiv

    Cssを覚えようと勉強中で、 よくある本の付属CD-ROMにある企業のWEBサンプルをDreamweaverで開いてみてみたら、 構成するにあたって、色々と疑問がでてきました・・。 Dreamweaverで開くと、レイヤー表示される所と、 (プロパティにレイヤーとでて、ドラッグなどで位置修正可能) 赤い枠だけ表示される、DIVのコンテンツブロックのものとありました。 (プロパティには、ID名が表示されるのみで、レイヤーとは表示されず、位置調整がドラッグではできない) レイヤーの方はわかるんですが、 赤枠だけ表示されるDIVのコンテンツブロックってどうやって作るのですか? どうしても位置を指定すると、レイヤー化しますよね・・。 でも、色々な企業サイトのサンプルをDreamweaverで開いてみても、 どのサイトもレイヤーとコンテンツブロックとわかれていました。 なぜ、赤い枠のものと、レイヤーとわかれて作るのですか? どういう関係で分けているんでしょう? headerをレイヤーで作っている所もありましたし、 footerを赤枠のみのdivコンテンツブロックで作っている所もありました。謎です。。 どなたか分かる方、教えてください・・; ・赤い枠のみのIDコンテンツブロックの作り方(レイヤーにならない ・なぜレイヤーと↑と分けて作るのか不明、何を元に分けているのか、分からない ・cssの設定ってかなり量がありますが、どうやって整理して作成しているのか。 一つ一つ、これとこれが同じでってやっていったら、きりがないですよね。。 横のウィンドウのタグから、 適用ルールにインラインスタイルってでるんですが、 そこで一つ一つ新規ルール作成で作っているんでしょうか? 色々質問すみませんが、回答いただけると助かります。 宜しくお願いします!

  • javascriptでポップアップメニュー

    はじめまして。題記の件でつまっています。 画面上のメニュー表示項目にマウスカーソルを合わせると、その位置にサブメニューを表示させたいです。 サブメニュー表示時に実現したいことは以下の3点です。 1.サブメニューのHTMLは画面上に記述しておき、カーソルがメニュー表示項目にある場合のみvisibleにする 2.サブメニューはカーソルが別のメニュー表示項目に移動した場合には、別のメニュー表示項目上でサブメニューを出すようにし、メニュー表示項目以外にカーソルが移動した場合には、メニューを非表示にする 3.サブメニューの表示位置はマウスカーソルの位置にする <イメージ> /* メニュー部分*/ <ul> <li>メニュー表示項目1</li> ※1 <li>メニュー表示項目2</li> … </ul> /*サブメニュー部分*/ <div id="menu" class="hidden"> <div>サブメニュー1</div> <div>サブメニュー2</div> </div> ※1にカーソルをあてると、下のhidden項目をカーソル位置に表示する カーソル移動にあわせてメニューを追従させたり、メニュー領域以外の場合に非表示とすることができません。(つまりほとんどうまくいってないのですが・・・) どうかご教示いただけないでしょうか。よろしくお願いします。 ちなみに以下のサイト様を参考にさせていただいてますが、こちらはカーソル位置に表示ではなく固定位置にサブメニュー表示でした。 http://miyakekobo.fc2web.com/temp/total_pd104.html

  • レイヤの相対位置設定?

    DreamWeaver 3Jで弊社ホームページを作成しました。パソコンはXpです。GooGleに登録し、検索で表示してもらえるようになりました。しかし、検索結果のキャッシュ表示を行うと、GOOGLEの説明文と弊社ホームページの上部が重なって表示されます。以前、違うカテゴリーでお聞きしたところ、レイヤを用いているので、レイヤが絶対位置の指定だから、GOOGLEの説明と重なるとの事でした。 そこでお聞きします。私は、図やテキスト全てレイヤで配置しています。レイヤを相対位置(?:順番は変わらない)で指定するにはどのようにすればよいですか? また、まったくの初めて作成しました。他のサイトを見ると重なっているのは見つかりませんでした。一般に、どのようにして、自由な場所に配置しているのでしょうか? 少ない手間で、直すにはどうしたらよいですか? 困っています。是非ご教示ください。

  • FlashとJavascriptのメニューについて

    現在Javascriptのドロップダウンするサブメニューを作っています。(http://lolipop.jp/のような感じ) そのメニューの下にFlashムービーを配置したいのですが、ドロップダウンしてくるサブメニューはFlashの下に隠れてしまいます。つまり1つ下のレイヤーに表示されてしまいます。 Javascriptをいかしたまま、サブメニューをFlashの上に表示させる方法はありますか?ぜひ教えてください。宜しくお願いします。

  • レイヤーを背景だけ透過させたい

    お世話になります。 レイヤーを背景だけ透過させたく、質問させていただきます。 レイヤーを透過させたい場合、よくスタイルシートのfilterが使われると思います。 たとえば <div style="width:100; height:20; color:#ff0000; background-color:#0000ff; filter:Alpha(opacity=60);"> フィルター適応</div> のようにすると、レイヤー全体が透過されます。 しかし、今回やりたいのは、背景のみが透過し、文字は透過させたくありません。 1つ考えた方法として、 <div style="width:100px; height:20px; top:0px; left:0px; position:absolute; background-color:#0000ff; filter:Alpha(opacity=60);"> </div> <div style="width:100px; height:20px; top:0px; left:0px; position:absolute; color:#ff0000;"> フィルター適応 </div> のように、無理やりレイヤーを2つ重ねて表示できないこともないのですが、もっとスマートな方法はないでしょうか。 ご存知の方がいらっしゃいましたら、ご教授お願いいたします。

    • ベストアンサー
    • HTML
  • このタグですが、ページを右端から左へ縮めても、常に中央に位置させたいのですが、、

    このタグですが、ページを右端から左へ縮めても、常に中央に位置させたいのですが、、、 <BODY> <DIV style="top : 56px;left : 95px; position : absolute; z-index : 1; width : 336px; height : 21px; " id="Layer1" align="center"><FONT size="+4">テキスト</FONT></DIV> </BODY>

    • ベストアンサー
    • HTML
  • 並んだ2つのfloatボックス、片方を固定位置にしたい

    floatでボックスを2つ並べたものの、左側のボックスを、右側のコンテンツ量が増えても、いつでもブラウザの固定された位置の表示させていと考えています。 現在、このfloatの2つのボックスは、大きなボックスで囲んでおり、 topから160pxの余白をとっています。 また、この大きなボックスは、常にセンターにある状態です。 ・トップから常に160pxのマージンが欲しい ・左側の余白は、ブラウザの大きさに寄ってかわる(センタリングの為) ・右のボックスは自由に動く。 この状況で、左のメニューだけを固定することは可能でしょうか。 教えてください。 現在ソースは下記のようにしております。 【HTML】 <div id="container"> <div id="gNavi"> 固定したいメニューBox </div> <div id="main"> スクロールするぐらいの長文Box </div> </div> 【CSS】 * { margin:0 ; padding:0; } body { text-align:center; } #container { width:894px; margin:160px auto 65px auto; } #gNavi { position:fixed; float:left; top:160px; left:auto; width:175px; } #main { float:left; width:716px; margin:0 0 0 2px; text-align:left; overflow:auto; }

    • ベストアンサー
    • CSS

専門家に質問してみよう