【发布时间】:2014-08-21 21:37:34
【问题描述】:
谁能解释为什么在这个jsfiddle 中顶部导航元素和位于其下方的内容 div 之间存在小间隙?
当我浮动导航列表项时,这会在顶部导航元素和位于其下方的主要内容元素之间产生一个小间隙。如果我使导航项内联块,差距就消失了。我真的不希望这种行为,因为浮动项目应该从页面流中删除,因此无法下推内容 div。我查看了 Chrome 开发工具中的页面,并没有看到任何可以解释这一差距的内容。
谢谢。
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Header Gap Problem</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../reset.css" />
<link rel="stylesheet" href="base.css" />
</head>
<body>
<div class="wrapper">
<nav class="nav" role="navigation">
<li class="nav-item">Members</li>
<li class="nav-item">Events</li>
</nav>
<div class="content-main">
Main content
</div>
</div>
</body>
</html>
CSS
body {
-mox-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.wrapper {
margin: 0 auto;
}
.nav {
position: relative;
display: inline-block;
width: 100%;
background: #34495e;
}
.nav-item {
float: left;
/*
display: inline-block;
*/
padding: 1em;
color: #fff;
text-decoration: none;
}
.content-main {
padding: 1em;
background: #cf6;
}
【问题讨论】:
-
有点和有点不是。我之所以这么说是因为我只有一个 inline-block 元素,即 nav 元素。我不是要删除两个内联块元素之间的空间。我已经实现了解决方案(删除元素之间的空格),如代码中其他地方的链接中所述,它确实有效。