[英]Dropdown menu using CSS not displaying the menu on hover
I am trying to get a dropdown menu to appear when the user hovers over the About
menu, see http://jsfiddle.net/bpAbC/ 当用户将鼠标悬停在“ About
菜单上时,我试图显示一个下拉菜单,请参阅http://jsfiddle.net/bpAbC/
HTML: HTML:
<nav>
<ul>
<li>
<a href="#">Home</a>
</li>
<li>
<a href="#">About</a>
<ul class="sub">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</li>
<li>
<a href="#">Contact</a>
</li>
</ul>
</nav>
CSS: CSS:
nav > ul {
margin: 0;
padding: 0;
display: table;
width: 100%;
height: 100%;
}
nav > ul > li {
display: table-cell;
list-style: none;
padding: 0;
margin: 0;
text-align: center;
}
nav > ul > li a {
color: red;
}
nav > ul > li > ul.sub {
display: none;
}
nav > ul > li a:hover ul.sub {
display: block;
}
The .sub
ul is not displaying when I hover over About. 当我将鼠标悬停在“关于”上时,不会显示.sub
ul。 I assume I have made an error with my last two rules but I can't work it out. 我认为我的最后两条规则出错,但我无法解决。
You need to change selector to nav > ul > li:hover ul.sub
because ul.sub
is not a child of a
您需要更改选择到nav > ul > li:hover ul.sub
因为ul.sub
是不是孩子a
nav > ul > li:hover ul.sub {
display: block;
}
Try this: 尝试这个:
nav > ul > li:hover ul.sub {
display: block;
}
And letme know if it worked 并且知道它是否有效
Where you have 你在哪里
nav > ul > li a:hover ul.sub { display: block; }
in your CSS, try 在你的CSS中,试试吧
nav > ul > li a:hover + ul.sub { display: block; }
The "+" between a:hover
and ul.sub
specifies that you want to select an adjacent sibling of the <a>
. a:hover
和ul.sub
之间的“+”指定您要选择<a>
的相邻兄弟 。 I think this is preferable because it is more specific about exactly which element you are selecting. 我认为这是更可取的,因为它更具体地说明了您选择的元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.