【发布时间】:2016-04-19 21:42:58
【问题描述】:
我想制作一个具有以下结构的垂直下拉菜单(对于每个“按钮”,一个不同的“下拉”div)。这个想法是当我将“按钮”悬停时,“下拉菜单”出现在 上方具有相同大小的“按钮”(“下拉菜单”缩小到具有相同高度的“按钮”大小“subnav1”)或显示在“下拉菜单”的左侧(再次与高度“subnav1”)。但是,问题是我无法在“按钮”悬停时使“下拉”display:blocks 悬停,在第二种情况下,在选择“subnav1”时悬停“按钮” “ 元素。 HTML:
<div class="nav">
<ul class="nav1">
<li class="button"><div class="subnav">BUTTON1</div></li>
<li class="button"><div class="subnav">BUTTON2</div></li>
<li class="button"><div class="subnav">BUTTON3</div><li>
<li class="button"><div class="subnav">BUTTON4</div></li>
<li class="button"><div class="subnav">BUTTON5</div></li>
</ul></div>
<div class="dropdown">
<A href="#" class="subnav1">SUBBUTTON1</a>
<A href="#" class="subnav1">SUBBUTTON1</a>
<A href="#" class="subnav1">SUBBUTTON1</a>
</div>
CSS:
.nav {
width: 180px;
padding: 1vm;
float:left;
height:450px;
position:relative;
text-align:center;
background-color:#a56d3b;
}
ul{
list-style:none;
margin: 0;
padding: 0;
text-align:right;
}
.nav a{
text-decoration:none;
}
.subnav{
font-weight:bold;
text-align:center;
color:#FCFBE3;
font-family: 'PT Serif', serif;
font-size:1.3em;
display:block;
}
.button{
border-bottom:1PX DOTTED #FFECBA;
border-right:1PX DOTTED #FFECBA;
height:90px;
width:100%;
padding:2em 0 0 0 ;
cursor:pointer;
}
.button:last-child{
border-bottom:0px;
}
.button:hover{
background-color:rgba(0,0,0,0.5);
}
.dropdown{
height:89px;
float:left;
width:auto;
min-width:100px;
text-align:center;
margin:0 180px;
position:absolute;
cursor:pointer;
border:1px solid black;
}
.subnav1{
height:30px;
width:180px;
padding:5px 0;
color:black;
font-family: 'PT Serif', serif;
font-size:1em;
color:white;
text-decoration:none;
background-color:#D8A06E;
DISPLAY:BLOCK;
}
.subnav1:hover{
background-color:rgba(0,0,0,0.5);
}
.nav.nav1 .button:hover .dropdown{
display:block;
}
【问题讨论】: