我正在制作菜单,但我的链接有问题。
body,html{
margin:0;
font:1em "open sans",sans-serif;
}
/**************/
/* MENU BAR */
/**************/
.nav-main{
width:100%;
background-color:#222;
height:70px;
color:#fff;
padding-left: 33%;
padding-right: 33%;
}
.nav-main > ul{
margin:0;
padding:0;
float:left;
list-style-type:none;
}
.nav-main > ul > li{
float:left;
}
.nav-item{
display:inline-block;
padding:15px 20px;
height:40px;
line-height:40px;
color:#fff;
text-decoration:none;
}
.nav-item:hover {
background-color:#444;
}
.nav-content{
position:absolute;
top:70px;
overflow:hidden;
background-color:#222;
max-height:0;
}
.nav-content a{
color:#fff;
text-decoration:none;
}
.nav-content a:hover{
text-decoration:underline;
}
.nav-sub{
padding:20px;
}
.nav-sub ul{
padding:0;
margin:0;
list-style-type:none;
}
.nav-sub ul li a{
display:inline-block;
padding:5px 0;
}
.nav-item:focus{
background-color:#444;
}
.nav-item:focus ~ .nav-content{
max-height:400px;
-webkit-transition:max-height 400ms ease-in;
-moz-transition:max-height 400ms ease-in;
transition:max-height 400ms ease-in;
}

<nav class="nav-main">
<ul>
<li>
<a href="http://www.google.com" class="nav-item">Search</a>
</li>
<li>
<a href="#" class="nav-item">Extra's</a>
<div class="nav-content">
<div class="nav-sub">
<ul>
<li><a href="http://www.google.com">Instructions</a> </li>
</ul>
</div>
</div>
</li>
</ul>
</nav>
&#13;
使用[ctrl + click]尝试链接来测试链接
&#34;搜索&#34;框正在运行,但如果您点击&#34;其他&#34; - &GT; &#34;说明&#34;,什么也没发生。
我认为额外中的链接阻止了它的运作。 但没有&#34; 附加功能&#34;作为链接,菜单不会扩展。
答案 0 :(得分:4)
添加此规则,以便元素可点击:
.nav-item:focus ~ .nav-content,
.nav-content:hover {
max-height:400px;
-webkit-transition:max-height 400ms ease-in;
-moz-transition:max-height 400ms ease-in;
transition:max-height 400ms ease-in;
}
这是因为,您已在focus
上分配了该活动,当您尝试点击该链接时该活动就会消失。
body,html{
margin:0;
font:1em "open sans",sans-serif;
}
/**************/
/* MENU BAR */
/**************/
.nav-main{
width:100%;
background-color:#222;
height:70px;
color:#fff;
padding-left: 33%;
padding-right: 33%;
}
.nav-main > ul{
margin:0;
padding:0;
float:left;
list-style-type:none;
}
.nav-main > ul > li{
float:left;
}
.nav-item{
display:inline-block;
padding:15px 20px;
height:40px;
line-height:40px;
color:#fff;
text-decoration:none;
}
.nav-item:hover {
background-color:#444;
}
.nav-content{
position:absolute;
top:70px;
overflow:hidden;
background-color:#222;
max-height:0;
}
.nav-content a{
color:#fff;
text-decoration:none;
}
.nav-content a:hover{
text-decoration:underline;
}
.nav-sub{
padding:20px;
}
.nav-sub ul{
padding:0;
margin:0;
list-style-type:none;
}
.nav-sub ul li a{
display:inline-block;
padding:5px 0;
}
.nav-item:focus{
background-color:#444;
}
.nav-item:focus ~ .nav-content, .nav-content:hover {
max-height:400px;
-webkit-transition:max-height 400ms ease-in;
-moz-transition:max-height 400ms ease-in;
transition:max-height 400ms ease-in;
}
<nav class="nav-main">
<ul>
<li>
<a href="http://www.google.com" class="nav-item">Search</a>
</li>
<li>
<a href="#" class="nav-item">Extra's</a>
<div class="nav-content">
<div class="nav-sub">
<ul>
<li><a href="http://www.google.com">Instructions</a> </li>
</ul>
</div>
</div>
</li>
</ul>
</nav>
答案 1 :(得分:1)
添加到您的CSS
.nav-content:hover{
max-height:400px;
}
因为当焦点.nav-item时,nav-content的max-height只有400px,如果你点击其他网站.nav-content lost max-height你没有点击链接