1

我正在尝试调整响应式菜单以在我的网站上工作。到目前为止,我已经附上了我的进度的 jsfiddle:

jsfiddle 我的进步

菜单列表项 2 和 3 具有下拉菜单,当鼠标悬停时会出现:

  1. 如果屏幕宽度超过 20em,下拉菜单将浮动(隐藏)页面内容。
  2. 如果页面宽度低于 20em,下拉菜单会强制页面内容向下,因此菜单不会隐藏内容。

这一切正常,但是在场景 b)中,我需要下拉菜单宽度为页面宽度的 100%(如果页面内容小于 20em)。您会注意到,当您将鼠标悬停在第 2 项和第 3 项上时(当页面宽度低于 20em 时),菜单很窄。如何将它们设置为 100% 的页面宽度?

我认为需要对媒体查询进行一些更改:

@media only screen and (max-width: 20em) /* 320 */ {}

任何帮助表示赞赏。

4

1 回答 1

0

我不知道这是否是您要找的东西,但我在我的网站上使用过它,无论浏览器窗口大小如何,它都保持相同的宽度,当然我的不是下拉栏,所以我不能保证下拉菜单会保持相同的宽度(它们应该)

这就是我所做的,我为我的菜单创建了一个 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; 
}

我希望这个对你有用。

于 2013-07-18T13:56:58.627 回答