【发布时间】:2020-05-06 11:05:13
【问题描述】:
我的问题很简单,但我找不到任何有效的解决方案。 我只想让我的子菜单背景(在我的情况下为黄色)全宽。 我知道我将相对位置放在包装器中,因为这就是我想要的。(我希望子菜单从徽标下方开始)。 JSFIDDLE
我想要的结果 - 用图片解释:IMAGE
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Navigation</title>
</head>
<body>
<nav id="main-nav">
<div class="wrapper">
<h1 class="logo">Site Name</h1>
<ul class="main-menu">
<li><a href="#">Item 1</a></li>
<li>
<a href="#">Item 2</a>
<ul class="sub-menu">
<li><a href="#">Item 2.1</a></li>
<li><a href="#">Item 2.2</a></li>
<li><a href="#">Item 2.3</a></li>
</ul>
</li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
</ul>
<ul class="left-menu">
<li>Don't mind me.</li>
</ul>
</div>
</nav>
</body>
</html>
CSS
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
ul {
list-style: none;
}
a {
text-decoration: none;
}
.wrapper {
max-width: 1000px;
width: 80%;
margin: 0 auto;
}
#main-nav {
width: 100%;
background-color: #EEE;
}
#main-nav ul {
display: flex;
}
#main-nav .wrapper {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
}
#main-nav ul.main-menu {
flex: 1;
margin-left: 40px;
}
#main-nav ul.main-menu a {
height: 50px;
display: flex;
align-items: center;
}
#main-nav ul.main-menu a:hover {
background: #000;
color: #FFF;
}
#main-nav ul.sub-menu {
position: absolute;
left: 0;
right: 0;
background-color: yellow;
}
【问题讨论】: