![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
以下の1.のようなタイプのプルダウンメニューはいくつもサンプルがありますが、2.3.のように天の位置が同じでヨコに展開していくタイプのサンプルを探しています。ご存知のかた、もしくは作り方がわかる方がいらっしゃいましたらご教授ください。
1.リスト2->リスト23を選択した状態
リスト1
リスト2 リスト21
リスト3 リスト22
リスト4 リスト23 リスト231
リスト5 リスト24 リスト232
リスト6 リスト25 リスト233
リスト7 リスト26 リスト234
------リスト27 リスト235
-------------リスト236
-------------リスト237
(-は位置固定のため無視してください)
2.リスト1->リスト12を選択した状態
リスト1 リスト11 リスト121
リスト2 リスト12 リスト122
リスト3 リスト13 リスト123
リスト4 リスト14 リスト124
リスト5 リスト15 リスト125
リスト6 リスト16 リスト126
リスト7 リスト17 リスト127
3.リスト7->リスト73を選択した状態
リスト1 リスト71 リスト731
リスト2 リスト72 リスト732
リスト3 リスト73 リスト733
リスト4 リスト74 リスト734
リスト5 リスト75 リスト735
リスト6 リスト76 リスト736
リスト7 リスト77 リスト737
No.3ベストアンサー
- 回答日時:
等はいかがでしょうか?若干美しくないソースですが、ie6等に対応するためで、そのあたりへの配慮をなくせば美しいソースとなります。
例の1と2.3の違いは親要素のpositionをどこにするかだけですので、サンプルを解読、比較すれば自分で作れるようになると思います。上記サンプルを利用すれば、著作権配慮の制約がありますので、ご自分で組めばそんなもの必要なくなります。
蛇足ですが、ドロップダウン・フライアウトメニューはアクセスビリティ上問題が多くあります。
また、同じサイト内にメガドロップダウンメニューのサンプルもあります。
http://www.cssplay.co.uk/menus/pro-flyout-list.h …
http://www.cssplay.co.uk/menus/html-plus-time-fl …
要望とは少し違いますが、こちらの方がアクセスビリティ上好ましいようです。参考になれば幸いです。
No.2
- 回答日時:
[HTML]判りやすいようにタブを全角スペースに置き換えてあります。
<body>
<div class="header>
</div>
<div class="section">
<h2>見出し</h2>
<p>・・・</p>
<div class="nav">
<ol>
<li>section1
<ol>
<li>section1-1
<ol>
<li>section1-1-1</li>
<li>section1-1-2</li>
<li>section1-1-3</li>
<li>section1-1-4</li>
<li>section1-1-5</li>
<li>section1-1-6</li>
</ol>
</li>
<li>section1-2
・・・【中略】・・・
<li>section7-6
<ol>
<li>section7-6-1</li>
<li>section7-6-2</li>
<li>section7-6-3</li>
<li>section7-6-4</li>
<li>section7-6-5</li>
<li>section7-6-6</li>
</ol>
</li>
</ol>
</li>
</ol>
</div>
</div>
<div class="footer"
</div>
</body>
スタイルシートは、とっても簡単になります。
div.section div.nav ol,div.section div.nav ol li{
display:block;list-style-none;
margin:0;padding:0;
line-height:2em;
width:6em;
}
div.section div.nav ol li{padding:0 0.5em;}
div.section div.nav ol{
position:relative;
height:14em; /* マウスが外れたときのために(7項目×2line-height */
}
div.section div.nav ol ol{
position:absolute;
top:0;
left:7em;
}
/* ここから下はプルダウンメニュー */
div.section div.nav ol ol{display:none;}
div.section div.nav ol li:hover ol{display:block;}
div.section div.nav ol li:hover ol ol{display:none;}
div.section div.nav ol li:hover ol li:hover ol{display:block;}
/* ここまで */
/* ここからはおまけ */
li:hover:after{content:"■";}
li li li:hover:after{content:none;}
li{background-color:silver;}
div.section div.nav ol li{background-color:rgb(255,80,80);}
div.section div.nav ol li+li{background-color:rgb(255,160,80);}
div.section div.nav ol li+li+li{background-color:rgb(255,255,160);}
div.section div.nav ol li+li+li+li{background-color:rgb(120,255,120);}
div.section div.nav ol li+li+li+li+li{background-color:rgb(80,255,255);}
div.section div.nav ol li+li+li+li+li+li{background-color:rgb(80,80,255);}
div.section div.nav ol li+li+li+li+li+li+li{background-color:rgb(160,80,255);}
div.section div.nav ol li:hover ol li{background-color:rgb(255,80,80);}
div.section div.nav ol li+li:hover ol li{background-color:rgb(255,160,80);}
div.section div.nav ol li+li+li:hover ol li{background-color:rgb(255,255,160);}
div.section div.nav ol li+li+li+li:hover ol li{background-color:rgb(120,255,120);}
div.section div.nav ol li+li+li+li+li:hover ol li{background-color:rgb(80,255,255);}
div.section div.nav ol li+li+li+li+li+li:hover ol li{background-color:rgb(80,80,255);}
div.section div.nav ol li+li+li+li+li+li+li:hover ol li{background-color:rgb(160,80,255);}
div.section div.nav ol li ol li ol li{
background-color:white!important;color:black!important;
}
おまけは別にして、カスケーディングと値の決定方法を知っていれば、こんなに簡単に済むのですよ。
大事なことは、HTMLをきちんと書くことかな・・
⇒ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HT … )
を開いて、表示メニューからスタイルシートを選択すると、HTMLを変更せずに様々なデザインが選択できますね。
No.1
- 回答日時:
別に、そのままデザインすれば良いだけのような気がしますけど???
HTMLは、
<div class="nav">
<ol>
<li>section1
<ol>
<li>section1-1
<ol>
<li>section1-1-1</li>
<li>section1-1-2</li>
<li>section1-1-3</li>
<li>section1-1-4</li>
<li>section1-1-5</li>
<li>section1-1-6</li>
</ol>
</li>
<li>section1-2
<ol>
<li>section1-2-1</li>
<li>section1-2-2</li>
<li>section1-2-3</li>
以下省略・・・
ときちんとマークアップさえされていれば、お好きに
★position:absoluteを指定されると、その直近の親であるstatic以外のコンテナブロックの位置を参照する。
これを理解しておけば良いです。言い換えれば、示された通常のプルダウンより簡単です。
今から出かけますので、上記を元にリストを作って置いてくださいね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- Excel(エクセル) いない人を抽出したい 4 2023/06/05 21:46
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) エクセルVLOOK関数について 3 2022/07/05 08:45
- Excel(エクセル) Excel差分がどれか割り出す方法 6 2023/01/17 17:11
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- Excel(エクセル) Excelのリストにある文字を含むセルを、複数の色で色付けしたいです 2 2022/08/11 17:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML ul li で横並びにナビゲー...
-
liタグの中に<p>タグやら<dl>を...
-
リストマーカーをボックス内に...
-
<ul><li></li></ul>にするメリ...
-
アコーディオンメニューがかく...
-
<ul>~</ul>が二つ続くと間に改...
-
真横に展開するドロップダウン...
-
CSSが上手く反映されないみたい...
-
HTMLのdlとul どちらが正しいと...
-
html <ul></ul>の並びで一行空...
-
<li>で並べたメニューのリンク...
-
HTMLで組織図を作成する方法
-
複数行にまたがる括弧を表示し...
-
リセットCSSについて
-
文法チェックの<A>と</A>の間が...
-
レスポンシブWebデザインでリン...
-
ulタグやliタグの中でbrタグ...
-
html/cssの、navを2段にする...
-
プルダウンメニューの背景色を...
-
excel vba で ulタグのなかのse...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
liタグの中に<p>タグやら<dl>を...
-
<table>の高さ固定。情報増加時...
-
レスポンシブWebデザインでリン...
-
html/cssの、navを2段にする...
-
リストの数字のフォントサイズ...
-
divタグ内のコンテンツが重なっ...
-
<ul><li></li></ul>にするメリ...
-
HTMLで組織図を作成する方法
-
ulタグやliタグの中でbrタグ...
-
リンク文字同士の間隔を開ける...
-
<ul>~</ul>が二つ続くと間に改...
-
ulとliで囲った文字の一部を変...
-
番号付きリスト(<Ol><Li>・・...
-
display:table;を多段表示させたい
-
ボタンを横に並べて表示させる方法
-
html <li>の中の文字一部に色を...
-
CSS質問:大手サイトを見ると何...
-
html <ul></ul>の並びで一行空...
-
Tableの1セル内に画像・テキス...
おすすめ情報