我只是编写简单的代码,但在我的结果中似乎有一个无法解释的空白...... 我似乎无法失去它!
要清楚:我指的是紫色标题和白色导航属性之间的“线”。
我尝试删除代码中的标签和空格,但它没有帮助。
这是一个简单的小提琴: http://jsfiddle.net/LNhK5/
HTML:
<body>
<div id="wrapper">
<header>
<img class="logo" src="images/logo.png">
</header>
<nav id="mainMenu">
<ul>
<li>Nieuwsoverzicht</li>
<li>Trending</li>
<li>Lokaal nieuws</li>
</ul>
</nav>
</div>
</body>
CSS:
body{
background-color:#ebebeb;
margin:0;
padding:0;
}
#wrapper{
width:100%;
padding:0;
margin:0;
}
header{
background-color:#835497;
height:70px;
width:100%;
margin:0;
padding:0;
}
.logo{
height:80%;
display:block;
margin: 0 auto 0 auto;
}
nav{
background-color:#ffffff;
height:45px;
width:100%;
margin:0;
padding:0;
}
nav#mainMenu ul li{
font-family:'source_sans_proregular';
font-size:1.2em;
color:#c2c2c2;
display:inline-block;
text-align:center;
margin:0;
padding:0;
}
这是我忽略的东西,还是我只是犯了一个拼写错误?
答案 0 :(得分:5)
答案 1 :(得分:0)
答案 2 :(得分:0)
您看到的空白是ul
元素与header
元素之间折叠边距的结果。
如果您将overflow: auto
添加到nav
元素,则它将包含子元素的任何边距,在本例中为ul
元素。
您可以通过明确地将上边距值设置为零来控制ul
的上边距
覆盖默认值。
答案 3 :(得分:0)
您的LI中有0个边距和填充,但UL中没有。因此,UL的默认填充和边距仍然存在。要修复,请添加此样式:
nav#mainMenu ul{
margin:0;
padding:0;
}