【问题标题】:css responsive menu drop down widthcss 响应式菜单下拉宽度
【发布时间】:2013-04-24 08:39:15
【问题描述】:
我正在尝试调整响应式菜单以在我的网站上运行。到目前为止,我已经附上了我的进度的 jsfiddle:
jsfiddle of my progress
菜单列表项 2 和 3 有下拉菜单,当鼠标悬停时会出现:
- 如果屏幕宽度超过 20em,下拉菜单将浮动(隐藏)页面内容。
- 如果页面宽度小于 20em,下拉菜单会强制页面内容向下,因此菜单不会隐藏内容。
这一切正常,但是在场景 b) 中,我需要下拉菜单宽度为页面宽度的 100%(如果页面内容小于 20em)。您会注意到,当您将鼠标悬停在第 2 项和第 3 项上时(当页面宽度低于 20em 时),菜单很窄。如何将它们设置为 100% 的页面宽度?
我认为需要对媒体查询进行一些更改:
@media only screen and (max-width: 20em) /* 320 */ {}
感谢任何帮助。
【问题讨论】:
标签:
css
responsive-design
【解决方案1】:
我不知道这是否是您要查找的内容,但我在我的网站上使用过它,无论浏览器窗口大小如何,它都保持相同的宽度,当然我的不是下拉菜单栏,所以我不能保证下拉菜单会保持相同的宽度(它们应该)
这就是我所做的,我为我的菜单创建了一个 div,并将菜单放在 div 中,就像这样。
<div id="nav">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="special-offers.php">Special Offers</a></li>
<li><a href="Partners-&-Affiliates.php">Partners & Affiliates</a></li>
<li><a href="contact.php">Contact Us</a></li>
</ul>
</div>
您可以编辑代码,使其与您的相同。
这里是菜单的 css(你可以再次编辑它以使其像你的一样)
#nav {
width: 100%;
max-width:100%;
min-width:100%;
float: left;
margin: 0 0 1em 0;
padding: 0;
background-color: darkgoldenrod;
border-bottom: 1px solid #ccc;
}
#nav ul {
list-style: none;
width: 800px;
margin: 0 auto;
padding: 0;
}
#nav li {
float:left;
width:200px;
text-align:center;
}
#nav li a {
display: block;
padding: 8px 15px;
text-decoration: none;
font-weight: bold;
color: black;
border-right: 1px solid #ccc;
}
#nav li:first-child a {
border-left: 1px solid #ccc;
}
#nav li a:hover {
color: black;
background-color: peru;
}
我希望这会有所帮助。