我正在尝试在悬停的下拉列表显示我的下拉列表,但是无论我设置什么位置,它都可以正常工作。我认为也许这可能是"显示"在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,有点混乱。