我能夠顯示焦點上的第一個子菜單,但第二個子菜單不顯示。我曾嘗試將css屬性設置爲display: block
,並嘗試更改定位,但我明顯錯過了某些內容。CSS3兒童菜單未在焦點上顯示
這是作爲一個Sass項目啓動的,我可以通過在CSS中刪除大量多餘的ul li ul li
來更容易地找到問題,但我仍然遇到同樣的問題。
我發佈了一個jsfiddle設置,使用了我正在使用的CSS和HTML。任何幫助解決第二個子菜單將不勝感激。
http://jsfiddle.net/nulimitz/uxfposgc/
HTML:
<nav class="nav-main">
<div class="logo">Website</div>
<div class="mobile-nav">
<i class="fa fa-bars"></i>
</div>
<ul>
<li class="dropdown">
<a href="#" class="nav-item">Link</a>
<ul class="dropdown-menu">
<li><a href="#" class="nav-item">Link</a></li>
<li><a href="#" class="nav-item">Link</a></li>
<li class="dropdown"><a href="#" class="nav-item">Link</a>
<ul class="dropdown-menu">
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
</ul>
</li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="nav-item">Link</a>
<ul class="dropdown-menu">
<li><a href="#" class="nav-item">Link</a></li>
<li><a href="#" class="nav-item">Link</a></li>
<li><a href="#" class="nav-item">Link</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="nav-item">Link</a>
<ul class="dropdown-menu">
<li><a href="#" class="nav-item">Link</a></li>
<li><a href="#" class="nav-item">Link</a></li>
<li><a href="#" class="nav-item">Link</a></li>
</ul>
</li>
</ul>
</nav>
CSS:
.nav-main {
width: 100%;
background-color: #222;
height: 70px;
color: #fff;
}
.nav-main .logo {
float: left;
height: 40px;
padding: 15px 30px;
font-size: 1.4em;
line-height: 40px;
}
.nav-main > ul {
position: relative;
float: left;
margin: 0;
padding: 0;
list-style-type: none;
}
.nav-main > ul > li {
float: left;
}
.nav-main > ul > li > a {
display: inline-block;
padding: 15px 20px;
height: 40px;
line-height: 40px;
color: #fff;
text-decoration: none;
}
.nav-main > ul > li > a:hover {
background-color: #444;
}
.nav-main > ul > li > a:focus {
background-color: #444;
}
.nav-main > ul > li > a:focus ~ ul {
visibility: visible;
opacity: 1;
-webkit-transition: all, 25ms, ease-in-out;
-moz-transition: all, 25ms, ease-in-out;
-ms-transition: all, 25ms, ease-in-out;
-o-transition: all, 25ms, ease-in-out;
transition: all, 25ms, ease-in-out;
}
.nav-main > ul > li > ul {
position: absolute;
top: 70px;
padding: 20px;
overflow: hidden;
background-color: #222;
margin: 0;
visibility: hidden;
list-style-type: none;
}
.nav-main > ul > li > ul > li > a {
padding: 15px 20px;
height: 40px;
line-height: 40px;
color: #fff;
text-decoration: none;
}
.nav-main > ul > li > ul > li > a:hover {
background-color: #444;
}
.nav-main > ul > li > ul > li > a:focus {
background-color: #444;
}
.nav-main > ul > li > ul > li > a:focus ~ ul {
visibility: visible;
opacity: 1;
-webkit-transition: all, 25ms, ease-in-out;
-moz-transition: all, 25ms, ease-in-out;
-ms-transition: all, 25ms, ease-in-out;
-o-transition: all, 25ms, ease-in-out;
transition: all, 25ms, ease-in-out;
}
.nav-main > ul > li > ul > li > ul {
position: absolute;
left: 100%;
top: 0;
padding: 20px;
overflow: hidden;
background-color: #222;
margin: 0;
visibility: hidden;
list-style-type: none;
}
.nav-main > ul > li > ul > li > ul > li > a {
padding: 15px 20px;
height: 40px;
line-height: 40px;
color: #fff;
text-decoration: none;
}
.nav-main > ul > li > ul > li > ul > li > a:hover {
background-color: #444;
}
這是奇怪,因爲第一個子菜單在焦點和懸停上工作,這是第二個子菜單沒有。讓我給你的想法一個鏡頭,但。 – user3080988
@ user3080988是的第一個工程,但就是這樣。其他人的行爲不像* Tabs *。爲此,如果你使用tabindex,你可以使它們的行爲像你希望的那樣。 – bayblade567