2017-02-09 87 views
2

一直试图解决我的代码几个小时,我不能。我想让我的导航栏有一个下拉功能。但我似乎无法让它工作。CSS3/HTML5下拉菜单

正如你所看到的我已经开始在下拉菜单类,但我不知道从那里去哪里。一直在使用Google搜索,并发现了很多例子,试图复制/粘贴一些位,但没有好的结果。所以我在想你可能会有帮助。

nav { 
 
    display: block; 
 
    background-color: indianred; 
 
    box-shadow: 0px 10px 5px #888888; 
 
} 
 
nav ul { 
 
    text-align: center; 
 
} 
 
nav ul li { 
 
    display: inline-block; 
 
    padding: 20px; 
 
} 
 
nav ul li a { 
 
    width: 125px; 
 
    color: black; 
 
    padding: 20px; 
 
    background-color: blueviolet; 
 
    text-decoration: none; 
 
} 
 
nav ul li a:hover { 
 
    background-color: aqua; 
 
} 
 
.dropdown { 
 
    display: none; 
 
}
<nav> 
 
    <ul> 
 
    <li><a href="#">FORSIDE</a> 
 
    </li> 
 
    <li><a href="#">ERHVERVSUDDANNELSER</a> 
 
     <ul class="dropdown"> 
 
     <li>content 1</li> 
 
     <li>content 1</li> 
 
     <li>content 1</li> 
 
     <li>content 1</li> 
 
     </ul> 
 
    </li> 
 
    <li><a href="#">EUX</a> 
 
    </li> 
 
    <li><a href="#">HTX</a> 
 
    </li> 
 
    <li><a href="#">OM TECH COLLEGE</a> 
 
    </li> 
 
    </ul> 
 
</nav>

回答

0

更改CSS来此:

nav { 
 
    display: block; 
 
    background-color: indianred; 
 
    box-shadow: 0px 10px 5px #888888; 
 
} 
 

 
nav ul { 
 
    text-align: center; 
 
} 
 

 
nav ul li { 
 
    display: inline-block; 
 
    padding: 20px; 
 
    position:relative; 
 
} 
 

 
nav ul li a { 
 
    width: 125px; 
 
    color: black; 
 
    padding: 20px; 
 
    background-color: blueviolet; 
 
    text-decoration: none; 
 
} 
 

 
nav ul li a:hover { 
 
    background-color: aqua; 
 
} 
 

 
nav ul li ul { 
 
    display:none; 
 
} 
 
nav ul li:hover ul { 
 
    display:block; 
 
    position:absolute; 
 
    background:indianred; 
 
}
<nav> 
 
    <ul> 
 
     <li><a href="#">FORSIDE</a></li> 
 
     <li><a href="#">ERHVERVSUDDANNELSER</a> 
 
     <ul class="dropdown"> 
 
      <li>content 1</li> 
 
      <li>content 1</li> 
 
      <li>content 1</li> 
 
      <li>content 1</li> 
 
     </ul> 
 
     </li> 
 
     <li><a href="#">EUX</a></li> 
 
     <li><a href="#">HTX</a></li> 
 
     <li><a href="#">OM TECH COLLEGE</a></li> 
 
    </ul> 
 
</nav>

你想隐藏下拉但后来证明它,当你将鼠标悬停在下拉菜单中的父元素。

然后,我让父母li position:relative;和下拉position:absolute,所以它没有推动任何其他下拉菜单项,它不应该在任何地方,但没有给它一个背景色的样式。

1

ul { 
 
    list-style-type: none; 
 
    margin: 0; 
 
    padding: 0; 
 
    overflow: hidden; 
 
    background-color: #333; 
 
} 
 

 
li { 
 
    float: left; 
 
} 
 

 
li a, .dropbtn { 
 
    display: inline-block; 
 
    color: white; 
 
    text-align: center; 
 
    padding: 14px 16px; 
 
    text-decoration: none; 
 
} 
 

 
li a:hover, .dropdown:hover .dropbtn { 
 
    background-color: red; 
 
} 
 

 
li.dropdown { 
 
    display: inline-block; 
 
} 
 

 
.dropdown-content { 
 
    display: none; 
 
    position: absolute; 
 
    background-color: #f9f9f9; 
 
    min-width: 160px; 
 
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); 
 
    z-index: 1; 
 
} 
 

 
.dropdown-content a { 
 
    color: black; 
 
    padding: 12px 16px; 
 
    text-decoration: none; 
 
    display: block; 
 
    text-align: left; 
 
} 
 

 
.dropdown-content a:hover {background-color: #f1f1f1} 
 

 
.dropdown:hover .dropdown-content { 
 
    display: block; 
 
}
<ul> 
 
    <li><a href="#">Home</a></li> 
 
    <li><a href="#">News</a></li> 
 
    <li class="dropdown"> 
 
    <a href="#" class="dropbtn">Dropdown</a> 
 
    <div class="dropdown-content"> 
 
     <a href="#">Link 1</a> 
 
     <a href="#">Link 2</a> 
 
     <a href="#">Link 3</a> 
 
    </div> 
 
    </li> 
 
</ul>

的更多详情,请Dropdown Menu in Navbar

0

你需要编写CSS的元素上悬停

element1:hover tobeshownele{display:block;} 
0

你可以尝试这样的事情。不想改变太多,所以代码和用户界面仍然很混乱。

nav { 
 
    display: block; 
 
    background-color: indianred; 
 
    box-shadow: 0px 10px 5px #888888; 
 
} 
 

 
nav ul { 
 
    text-align: center; 
 
} 
 

 
nav ul li { 
 
    display: inline-block; 
 
    margin: 20px; 
 
} 
 

 
nav ul li a { 
 
    width: 125px; 
 
    color: black; 
 
    padding: 20px; 
 
    background-color: blueviolet; 
 
    text-decoration: none; 
 
} 
 

 
nav ul li a:hover { 
 
    background-color: aqua; 
 
} 
 

 
.dropdown { 
 
    display: none; 
 
    position: absolute; 
 
} 
 

 
nav ul li:hover .dropdown { 
 
    display: block; 
 
} 
 

 
ul.dropdown li { 
 
    display: block; 
 
    padding: 10px; 
 
}
<nav> 
 
    <ul> 
 
     <li><a href="#">FORSIDE</a></li> 
 
     <li><a href="#">ERHVERVSUDDANNELSER</a> 
 
      <ul class="dropdown"> 
 
      <li><a href="#">content 1</a></li> 
 
      <li><a href="#">content 1</a></li> 
 
      <li><a href="#">content 1</a></li> 
 
      <li><a href="#">content 1</a></li> 
 
      </ul> 
 
     </li> 
 
     <li><a href="#">EUX</a></li> 
 
     <li><a href="#">HTX</a></li> 
 
     <li><a href="#">OM TECH COLLEGE</a></li> 
 
    </ul> 
 
</nav>