【发布时间】:2016-11-11 04:57:35
【问题描述】:
我正在尝试制作下拉菜单,但悬停未产生所需的显示效果。我只想在鼠标悬停在列表元素上时显示下拉菜单。我是 HTML 和 CSS 新手,所以我无法确定我的错误。
相关的 HTML:
#strip{
width: 950px;
height: 28px;
background-color: #2c276d;
font-size: 10pt;
}
.strip{
margin:0;
padding: 0;
}
.strip li{
list-style-type: none;
float: left;
}
.strip li a {
color: white;
text-decoration: none;
display: block;
text-align: center;
width:140px;
height:23px;
padding-top:5px;
border-right: 1px solid #FFFFFF;
}
.strip li.shrt a{
width: 145px;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropcmpy {
display: none;
position: absolute;
background-color: #2c276d;
font-size: 10pt;
width: 145px;
}
.dropcmpy a {
color: white;
display: block;
text-decoration: none;
padding: 5px;
border-top: 1px solid #FFFFFF;
}
.strip li a:hover{
background-color: #28A2D5;
}
li.shrt:hover .dropcmpy {
display: block;
}
<div id="main">
<div id="strip">
<ul class="strip">
<li class="shrt"><a href="#">Com</a></li>
</ul>
</div>
<div class="dropcmpy">
<a href="#">Key</a>
<a href="#">Ad</a>
<a href="#">Fac</a>
<a href="#">Car</a>
<a href="#">FAQ</a>
</div>
</div>
无论我如何格式化最后一段 CSS,它都不会生成下拉菜单,除非我这样做
#main:hover .dropcmpy {
display: block;
}
或者给第一个 div 一个类,然后使用它。否则不会出现下拉菜单。这提出了整个条带将生成菜单的问题,而我只想要 shrt。
【问题讨论】:
-
除非您愿意更改标记,否则您将需要 JavaScript 来执行此操作。
标签: html css drop-down-menu hover