对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跟随
谢谢
答案 0 :(得分:0)
从position:fixed
移除ul
,或者如果您想要position:fixed
菜单,请移除overflow: hidden
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;
答案 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"