导航中的下拉列表未显示和居中导航栏问题



我正在尝试在悬停的下拉列表显示我的下拉列表,但是无论我设置什么位置,它都可以正常工作。我认为也许这可能是"显示"在Nav Ul Ul系列中的名称?另外,我无法将导航栏置于我的页面上。我是HTML和CSS的初学者,所以请放轻松=)。

这是我的HTML和JSFIDDLE

<!DOCTYPE html>
    <html lang="en">
    <meta charset="UTF-8">
    <head>
        <title>Yanimal Art</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    </head>
    <body>
    <div id="header"><img src="images/yanimal.gif" alt=""></div>
        <nav>
            <ul>
                <li><a href="about.aspx">About</a></li>
                <li><a href="portfolio.aspx">Portfolio</a></li>
                <ul>
                    <li><a href="drawings.aspx">Drawings</a></li>
                    <li><a href="paintings.aspx">Paintings</a></li>
                    <li><a href="digitalmedia.aspx">Digital Media</</li>
                </ul>
                <li><a href="shop.aspx">Shop</a></li>
                <li><a href="contact.aspx">Contact</a></li>
            </ul>
        </nav>
    <div id="middle"><p></p></div>
    <div id="footer">Site is Currently Under Construction</div>
    </body>
</html>

这是我的代码:

    body {
        background-color: #FFFFFF;
}
#header {
        display: block;
        margin-left: auto;
        margin-right: auto;
        height: 124px;
        width: 830px;
        margin-top: 60px;
}
    nav ul ul {
        display: none;
        position: absolute;
        top: 100%;
    }
        nav ul li: hover > ul {
            display: block;
        }
    nav ul {
        display: inline-block;
        text-align: center;
        list-style: none;
        position: relative;
        padding: 0;
        margin: 0 auto;
        background-color: #B8B8B8;
        font-family: Helvetica Neue light;
    }
        nav ul li {
            float: left;
        }
            nav ul li:hover {
                background: #e0e0e0;
            }
                nav ul li:hover a {
                        color: #333;
                }
            nav ul li a {
                    display: block;
                    padding: 12px 50px;
                    color: #000000;
                    text-decoration: none;
            }
nav ul ul {
        background: #B8B8B8;
        float: left;
        margin: 0;
        padding: 0;
        list-style: none;
}
    nav ul ul li {
            display: block;
            text-decoration: none;
            float: none;
            position: relative;
    }
        nav ul ul li a {
                display: block;
                padding: 15px 40 px;
                color: #000000;
        }
#middle {
    opacity: 0.93;
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
    background-color: #121212;
}
#footer {
        opacity: 0.7;
        bottom: -40;
        width: 100%;
        background-color: #484838;
        text-align: center;
}

您有一些问题,但没有任何问题。

这是我更改的html:

<li><a href="portfolio.aspx">Portfolio</a>
    <ul class="subNav">
        <li><a href="drawings.aspx">Drawings</a></li>
        <li><a href="paintings.aspx">Paintings</a></li>
        <li><a href="digitalmedia.aspx">Digital Media</a></li>
    </ul>
</li>

我添加/更改的CSS:

nav ul ul {
    display: none;
    position: absolute;
    top: 100%;
    z-index: 100;
}
nav ul li:hover .subNav { /* This allows the subNav to display block when the li is hovered on */
    display: block;
}

最后,小提琴:演示

第二个问题才能用margin: 0 auto;将您的元素集中到您的元素中,您需要为元素定义一个宽度。

,或者您可以按照Danko的建议在nav上使用text-align: center;,Danko的小提琴:演示。

您还忘了关闭一个标签之一,

<li><a href="digitalmedia.aspx">Digital Media</a></li>

i也建议清理您的CSS,有点混乱。

相关内容

  • 没有找到相关文章

最新更新