css响应式菜单下拉宽度

时间:2013-04-30 12:15:18

标签: css responsive-design

我正在尝试调整自适应菜单以在我的网站上运行。到目前为止,我附上了我的进步:

jsfiddle of my progress

菜单列表项目2和3具有下拉菜单,这些菜单在悬停时显示:

  1. 如果屏幕宽度超过20em,则下拉菜单将浮动(隐藏)页面内容。
  2. 如果页面宽度低于20em,则下拉强制页面内容向下,因此菜单不会隐藏内容。
  3. 这一切都运行正常,但是在方案b)中我需要下拉菜单宽度为页面宽度的100%(如果页面内容低于20em)。你会注意到当你将鼠标悬停在第2和第3项(当页面宽度低于20em时)时,菜单很窄。如何将它们制作成100%的页面宽度?

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

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

    感谢任何帮助。

1 个答案:

答案 0 :(得分: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; 
}

我希望这会有所帮助。