为什么我的下拉列表没有工作?

时间:2017-08-18 05:38:41

标签: jquery html css drop-down-menu hover

对FCC进行投资组合页面挑战。只能使用HTML / CSS / Bootstrap / jQuery。

问题:处理导航栏和下拉菜单,可点击,突出显示的按钮。复制W3Schools here的说明无效。

/*--Drop down buttons--*/
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: #4CAF50;
}

li.dropdown {
display: inline-block;
}

.dropdown-content {
display: none;
position: absolute;
background-color: #000000;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
/*how does right:0; keep text from going off screen?*/
right: 0;
}

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

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

.dropdown:hover .dropdown-content {
display: block;
}

<div class="container-fluid">
<!----Nav Bar ---->
<ul>
<li><a href="#Home">Home</a></li>
<li class="dropdown" style="float:right"><a href="#About" 
class="dropbtn">About</a>
<div class="dropdown-content">
  <a href="#">Contact</a>
  <a href="#">Life in Japan</a>
</div>
</li>
<li><a href="#Resume">Resume</a></li>
<li><a href="#Projects">Projects</a></li>
</ul>
<!---End Nav Bar---->
</div>

这是my project。我的代码在哪里不正确?

目标 =创建&#34;关于&#34;的下拉列表按钮。当列表悬停时,此列表将突出显示(与其他导航按钮一样)。

注意: CodePen允许我导入Bootstrap并在单独的框中使用CSS,这就是为什么没有样式标记的原因。 CSS排在首位,HTML跟随

谢谢

3 个答案:

答案 0 :(得分:0)

position:fixed移除ul,或者如果您想要position:fixed菜单,请移除overflow: hidden

&#13;
&#13;
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  /*----not fully sure what overflow does--->*/
  overflow: hidden;
  background-color: #111;

  /*----Fixes Nav Bar to top---*/
  /*position: fixed;*/
  top: 0;
  width: 100%;
  font-family: sans-serif;
}

li {
  float: left;
}
li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

/*Alert user to their current link*/
.active {
  background-color: #4CAF50;
}

/*--Drop down buttons--*/
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;
  right:0;
}

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

.dropdown-content a:hover {
  background-color: #00FFFF;
}

.dropdown:hover .dropdown-content {
  display: block;
}
&#13;
<div class="container-fluid">
  <!----Nav Bar ---->
  <ul>
    <li><a href="#Home">Home</a></li>
    <li class="dropdown" style="float:right"><a href="#About" class="dropbtn">About</a>
    <div class="dropdown-content">
      <a href="#">Contact</a>
      <a href="#">Life in Japan</a>
    </div>
    </li>
    <li><a href="#Resume">Resume</a></li>
    <li><a href="#Projects">Projects</a></li>
  </ul>
<!---End Nav Bar---->
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

请检查您的代码,您错过了一些基本语法。

检查demo

更新的代码:

<div class="container-fluid">
  <!----Nav Bar ---->
 <ul>
  <li><a href="#home">Home</a></li>
  <li><a href="#news">News</a></li>
  <li class="dropdown">
    <a href="javascript:void(0)" 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>
<!---End Nav Bar---->
</div>

答案 2 :(得分:0)

您只需要在ul风格中添加它。它会起作用。现在你已经使它溢出:隐藏,这会导致你的下拉项目保持隐藏状态。

ul {overflow: visible;}

对于第二部分,您只需要从约li

中删除style="float:right"