1

LI全体をリンクにするアイデアはありますか?

#nav{
position: relative;
width: 120px;
}
#nav a {
display: inline;
width: 100%
text-decoration: none;
}
#nav ul{
list-style-type: none;
}
#nav ul li{
background: #c0c0c0;
border-bottom: 1px dotted #404040;
}
#nav ul ul{
position: absolute;
left: 81px;
display: none;
}
#nav ul ul li{
background: #c0c0c0;
}
#nav ul li:hover ul{
display: inline;
}

ここにリンクがあります: jsfiddle

私が試したオプション:

  1. {表示: ブロック; } -->これは機能しましたが、2 番目の UL がドロップダウンしました。
  2. {display: inline-block;} --> 2 番目の UL の問題は修正されましたが、LI はリンクではありません。
  3. {display: inline-block; 幅: 100%; 高さ: 100%; } --> 2 と同じ。

前もって感謝します。

4

5 に答える 5

2

それが機能しないのはパディングのせいです。要素は実際には他の要素と重なっています。

#nav ul ul{
    position: absolute;
    top:0px;
    left: 80px;
    display: none;
    padding-left:0px;
}

あなたはここで完全なデモを見つけることができます: ワーキングデモ

于 2013-03-23T07:54:23.397 に答える
0

試す

#nav{
    position: relative;
    width: 120px;
}
#nav a {
    display: inline-block;
    text-decoration: none;
    width: 100%;
    background-color: lightblue;
}
#nav ul{
    list-style-type: none;
}
#nav ul li{
    background: #c0c0c0;
    border-bottom: 1px dotted #404040;
    position: relative;
}
#nav ul ul{
    position: absolute;
    left: 43px;
    display: none;
    top: 0;
}
#nav ul ul li{
    background: #c0c0c0;
}
#nav ul li:hover ul{
    display: inline;
}

デモ:フィドル

于 2013-03-23T07:54:44.093 に答える
0
#nav a {
    display: block;
    text-decoration: none;
    float: left;
    width: 80px;
}

#nav ul li{
    background: #c0c0c0;
    border-bottom: 1px dotted #404040;
    overflow:hidden;
}

作業例: http://jsfiddle.net/wX2ss/16/

于 2013-03-23T07:49:36.097 に答える
0

このcssを変更する必要があります

    #nav a {
    display: block;
    text-decoration: none;
    }

ここで確認できます

http://jsfiddle.net/wX2ss/30/

于 2013-03-23T07:50:58.693 に答える
0

このようにしてみてください

            #navbar ul li {
            display: inline;
            position: relative;
            }

            #navbar ul li ul  {
            position: absolute;
            visibility: hidden;
            }

            #navbar ul li:hover>ul {
            visibility: visible;
            position: absolute;
            display: block;
            }

            <div id="navbar">
                <ul>
                    <li><a href="link">1</a></li>
                    <li><a href="#">2</a>
                        <ul>
                            <li><a href="link">x</a></li>
                            <li><a href="link">y</a></li>
                            <li><a href="link">z</a></li>
                        </ul>
                    </li>
                    <li><a href="link">3</a></li>
                </ul>
            </div>
于 2013-03-23T08:03:27.847 に答える