【问题标题】:html css dropdown menuhtml css 下拉菜单
【发布时间】:2016-08-15 12:12:45
【问题描述】:

这是我第一次在 Stack Overflow 上发帖,我不熟悉发帖的论坛规定。所以请让我知道我做错了什么。我在论坛中研究过这个问题,但我遇到的任何问题都没有给我一个明确的答案。

我正在尝试从“新闻”元素创建一个下拉菜单,但在运行代码时我从未得到任何可见的结果。我尝试将.dropdown-contentdisplay 值更改为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>

【问题讨论】:

  • 你想做什么?
  • 当我运行代码 sn-p 时,它会按照您的意愿运行,是否有我遗漏的东西?附言你的帖子很棒!
  • 您实际上做了大多数人没有做的事情,并提供了足够的代码。耶!!!顺便说一句,它也适用于我的浏览器,CHROME。
  • 似乎在 Safari 中工作
  • 我已经更新了 css 代码以显示我所拥有的一切(我知道我通常不应该这样做,但看到我无法查明问题......)。我在 Chrome 和 Internet Explorer 上试过了。

标签: html css dropdown


【解决方案1】:

解决您的位置固定问题。您可以将position: fixed; 添加到#nav 并将#menu 的宽度从width: 80%; 更改为width: 100%;

这是JS Fiddle

希望有所帮助!

【讨论】:

  • 我发现的唯一问题是登录元素不再浮动到屏幕右侧。它位于联系信息旁边。有没有办法解决这个问题?
  • 这是由于padding#login,如果您将其从padding-right: 20px; 更改为padding-left: 20px;,应该可以解决您的问题!查看更新的 JS Fiddle!
  • 实际上,完全删除padding! (参见更新的 JS Fiddle)
  • 嗯,我的意思是我希望导航栏的宽度与“body”选择器的宽度相匹配,并让“登录”元素位于右端。我注意到左边的填充增加了,我可以得到我想要的结果。但是,屏幕的百分比不是更适合网页看起来等于所有屏幕分辨率吗?
  • 这是否更好是相当主观的,但我玩 CSS 玩得很开心并得到了这个fiddle
猜你喜欢
  • 1970-01-01
  • 2021-07-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-18
  • 2021-05-03
  • 2014-07-04
  • 2014-12-05
  • 1970-01-01
相关资源
最近更新 更多