0

第 2 レベルのドロップダウンを作成しようとしています。最初のレベルのドロップダウンを正常に作成しましたが、レベル 2 にするのに少し行き詰まりました。完成させるのを手伝ってください..

また、css部分が優れていても2番目のレベルのドロップダウンを取得できないという私がやっている間違いを説明してください(そう思います)

編集: ドロップダウン css には多くのチュートリアルがあることを知っています。しかし、なぜこれが機能しないのか知りたいです。

ここにjsbinへのリンクがあります

HTML

<ul id="nav">
  <li>Home</li>
  <li>Details
    <ul id="subNav">
    <li>x details<li>
      <li>y details</li>
    </ul></li>

  <li>About Us
    <ul id="xSubNav">
      <li>About company
        <ul>
          <li>full information</li>
          <li>summary</li>
        </ul></li>
      <li>About Author</li>
    </ul></li>
</ul>

CSS

*{font-family:consolas;}

li{line-height:20px;}

ul#nav>li{float:left;width:100px;list-style:none;
          cursor:hand;cursor:pointer;}

ul#nav li li
{display:none;width:150px;}

ul#nav li ul
{padding:0;margin:0;}

ul#nav>li:hover>ul>li
{display:block;}

ul#nav>li:hover{color:grey;}

ul li li{color:black;}

ul li li:hover
{color:cornflowerblue;}

ul li li:hover li   /* level 2 dropdown part */
{display:block;margin-left:150px;width:300px;}
4

2 に答える 2

2

ここにあなたのコードの解決策があります

以下のcssを追加するだけです。

ul ul li { position:relative;}
ul ul li ul { position:absolute; display:none; left:0px; top:0px;}
ul ul li:hover ul { display:block;}
ul#nav li li li {display:block;}

この作業フィドルを確認してください

于 2012-12-13T07:38:04.070 に答える
1

問題は CSS ルールの特異性です。最初のルールによって上書きされないように、最後の 3 つのルールに #nav を追加するだけです。

ul#nav li li{color:black;}

ul#nav li li:hover
{color:cornflowerblue;}

ul#nav li li:hover li
{display:block;margin-left:150px;width:300px;}

他にも調整が必要だと思いますが、それがアイデアです。

于 2012-12-13T07:24:27.437 に答える