任何想让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
我试过的选项:
- a {display:block; } - >这个工作,但第二个UL下降。
- a {display:inline-block;} - >第二个UL问题已修复,但LI不是链接。
- a {display:inline-block;宽度:100%;身高:100%; } - >与2相同。
醇>
提前感谢。
答案 0 :(得分:2)
这是因为填充不起作用。该元素实际上与其他元素重叠。
#nav ul ul{
position: absolute;
top:0px;
left: 80px;
display: none;
padding-left:0px;
}
您可以在此处找到完整的演示: Working Demo
答案 1 :(得分:0)
#nav a {
display: block;
text-decoration: none;
float: left;
width: 80px;
}
#nav ul li{
background: #c0c0c0;
border-bottom: 1px dotted #404040;
overflow:hidden;
}
答案 2 :(得分:0)
答案 3 :(得分: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;
}
演示:Fiddle
答案 4 :(得分: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>