入れ子のプルダウンメニューを作る

2006年12月13日 15:30

このあとのエントリーで、「CSSのみでプルダウンメニューを作る」を書いてます。
IE6にも対応しているので、参考にしてみてください。

前回、CSSによるポップアップメニューでポップアップメニューを作成したけど、今度はそれをさらに発展させて入れ子のポップアップメニュー(プルダウンメニュー)を作ってみた。(というか、案件でそういうのを作ることになって、サンプルを作ったのでアップしてみただけだけどw)

ただ、IEでも動作するようにするため、Javascriptを介入させている。
IEを省いて、モダンブラウザのみで動けばいい、ということであればCSSだけでも実現できるようだ。
faLogさんを参考にしたので、CSSだけで実現させたい場合は参考にしてください。

ちなみに、入れ子を複数指定しても大丈夫なように作ってます。
<li>要素の中に<ul>要素を入れ子にしていくだけで、階層構造が作れるようになってます。

▼サンプルの解説

【サンプル】

▼EntryMore▼

【サンプルコード:CSS部分】

【サンプルコード:Javascript部分】

【サンプルコード:HTML部分】

トラックバックURL

http://css-eblog.com/cgi-bin/mt/mt-tb.cgi/29

コメント

1 - yushiki さん

縦型へのカスタマイズは、どのようにすればよいのでしょうか?

2007年9月 4日 13:35

2 - えど さん

>>yushikiさん
どもです。縦のカスタマイズは考えてませんでした・・。
ただ、CSSで横一列に並べているので、

http://edo-freiheit.sakura.ne.jp/eblog/2006/12/post_13.html

↑このページからサンプルをDLしていただいて、
その中のCSSを下記のように修正してもらうと、
縦メニューに対応できると思います。
サイズや出現位置については別途調整してください。

-----------------
dl#menuとdl#menu dtにあるfloat:leftの記述を削除。
dl#menu dt ulにあるz-indexを1に設定。
dl#menuの背景を任意の色に設定。
-----------------
おそらくこれでいけると思います。

2007年9月 5日 09:10

3 - yushiki さん

上記、方法で試してみましたが、失敗しました。

横メニュー2のみ表示。横に同様の無限ラインが出現。
 
縦、1バナー分空白があって、展開しています。

また、幅可変で設置したいのに、左0位置に現れてしまいます。

いろいろと試さないといけませんね。

2007年9月21日 02:09

4 - えど さん

>>yushikiさん
えぇと、dl#menuの色は変更しましたか? これを設定しないとメニューの文字が白のため背景と一緒になってしまって見えないのだと思います。(現状では、背景画像が指定されているため、画像ではなく色に変更する必要があります)

また、左0の部分は任意の数字に変更してみてください。
dl#menu dt ulのleftが左からの位置を指定しています。

2007年9月25日 09:35

5 - 木村 さん

はじめまして、こんにちは
ご紹介しているプルダウンメニューを利用させていただいています。

ブラウザ依存せず素晴らしいです。
1つ質問をさせてください。

ぶら下がるメニューの部分を個別の画像で表示して、さらにマウスオーバで画像が変わるという処理を加えようとしています。

ぶら下がりのメニューのにIDをふってCSSで処理しようとしましたがうまくいきませんでした。

お力お借りできますでしょうか?

2007年11月 8日 08:31

6 - えど さん

>>木村さん
参考にしていただいたようでありがとうございます。
おそらくされようとしていることは実現可能だと思います。
が、うまく行かない状況が分からないのでアドバイスしづらいです。
もしサンプルなどがサーバにあがっているようであればそのURLを教えてもらえますか?

2007年11月 9日 09:44

7 - test さん

IE8で見てますけどメインメニューの↓に表示されたサブメニューにマウスを移動したら、メインメニューからカーソルが外れた時点でサブメニューが消えていくら高速にマウスを移動させても下のメニューをクリックすることができませんでしたよ~

2008年10月16日 16:05

コメントを投稿





承認されるまでコメントは表示されません。しばらくお待まちください。