html css 下拉菜单
html css dropdown menu
这是我第一次 post 访问 Stack Overflow,我不熟悉 posting 的论坛规定。所以请让我知道我做错了什么。我在论坛上研究过这个问题,但没有遇到任何明确的答案。
我正在尝试从 "News" 元素创建一个下拉菜单,但是当 运行 代码时我从未得到任何可见的结果。我试图将 .dropdown-content
的 display
值更改为 block
以查看它是否会使列表可见,但没有任何显示。我错过了什么?
body{
background-image: url("images/seamless-panda-bear-pattern.jpg");
font-size: 100%;
width: 80%;
margin: auto;
font-family: Palatino,"Palatino", Arial;
}
#top{
background-color: black;
color: white;
padding-left: 10px;
border: 2px solid white;
font-family: Copperplate,"Copperplate Gothic Light",fantasy;
opacity: 0.85;
padding-left: 25px;
}
#menu{
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
position: fixed;
width: 80%;
}
li{
float: left;
}
#login{
float: right;
padding-right: 20px;
}
li a{
display: block;
color: white;
text-decoration: none;
text-align: center;
padding: 14px 16px;
}
li a:hover{
background-color: white;
color: black;
}
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);
padding: 12px 16px;
z-index: 1;
}
.dropdown-content a{
display: block;
text-decoration: none;
padding: 12px 16px;
color: black;
}
.dropdown:hover .dropdown-content{
display: block;
}
#bio{
}
#bottom{
}
<div id="nav">
<ul style="list-style-type: none" id="menu">
<li><a href="home.html">Home</a></li>
<li class="dropdown"><a class="dropbtn" href="#">News</a>
<div class="dropdown-content">
<a href="#">Games</a>
<a href="#">Web Design</a>
<a href="#">Travel</a>
</div>
</li>
<!-- create a link to a part of the same page for contact info -->
<li><a href="#bottom">Contact info</a></li>
<li id="login"><a href="login.html">Log In</a></li>
</ul>
</div>
解决你的定位问题。您可以将 position: fixed;
添加到 #nav
并将 #menu
上的宽度从 width: 80%;
更改为 width: 100%;
这里是 JS Fiddle。
希望对您有所帮助!
这是我第一次 post 访问 Stack Overflow,我不熟悉 posting 的论坛规定。所以请让我知道我做错了什么。我在论坛上研究过这个问题,但没有遇到任何明确的答案。
我正在尝试从 "News" 元素创建一个下拉菜单,但是当 运行 代码时我从未得到任何可见的结果。我试图将 .dropdown-content
的 display
值更改为 block
以查看它是否会使列表可见,但没有任何显示。我错过了什么?
body{
background-image: url("images/seamless-panda-bear-pattern.jpg");
font-size: 100%;
width: 80%;
margin: auto;
font-family: Palatino,"Palatino", Arial;
}
#top{
background-color: black;
color: white;
padding-left: 10px;
border: 2px solid white;
font-family: Copperplate,"Copperplate Gothic Light",fantasy;
opacity: 0.85;
padding-left: 25px;
}
#menu{
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
position: fixed;
width: 80%;
}
li{
float: left;
}
#login{
float: right;
padding-right: 20px;
}
li a{
display: block;
color: white;
text-decoration: none;
text-align: center;
padding: 14px 16px;
}
li a:hover{
background-color: white;
color: black;
}
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);
padding: 12px 16px;
z-index: 1;
}
.dropdown-content a{
display: block;
text-decoration: none;
padding: 12px 16px;
color: black;
}
.dropdown:hover .dropdown-content{
display: block;
}
#bio{
}
#bottom{
}
<div id="nav">
<ul style="list-style-type: none" id="menu">
<li><a href="home.html">Home</a></li>
<li class="dropdown"><a class="dropbtn" href="#">News</a>
<div class="dropdown-content">
<a href="#">Games</a>
<a href="#">Web Design</a>
<a href="#">Travel</a>
</div>
</li>
<!-- create a link to a part of the same page for contact info -->
<li><a href="#bottom">Contact info</a></li>
<li id="login"><a href="login.html">Log In</a></li>
</ul>
</div>
解决你的定位问题。您可以将 position: fixed;
添加到 #nav
并将 #menu
上的宽度从 width: 80%;
更改为 width: 100%;
这里是 JS Fiddle。
希望对您有所帮助!