我试图找到我的积木容器下面的空白区域来自哪里。我可以通过添加否定margin-bottom
来修复它,但我想知道它首先来自哪里。我希望它位于容器div的最底部边框上。
JSFiddle:https://jsfiddle.net/sv7eqoff/
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Positioning</title>
<link rel="stylesheet" href="positioning.css">
</head>
<body>
<nav></nav>
<div id="container">
<div id="topbar"></div>
<div id="blocks">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<footer></footer>
</body>
</html>
CSS:
body {
margin: 0px 0px;
}
nav {
height: 100px;
background-color: blue;
width: 100%;
}
#container {
border: 2px solid black;
width: 90%;
margin: 40px auto;
}
#topbar {
width: 100%;
height: 200px;
background-color: lightgray;
}
#blocks div {
width: 200px;
background-color: lightgray;
height: 200px;
display: inline-block;
margin-top: 5px;
}
footer {
height: 100px;
background-color: blue;
width: 100%;
}
答案 0 :(得分:3)
这是因为那些DIV是inline-block;
元素,它们在基线处对齐(如文本),这意味着在该基线下面的某些空格是为字母下面的那些部分保留的(就像在字母中一样) g,j,p等。)。
您可以在vertical-align: top
元素上使用inline-block
来避免这种情况。