容器中div下方的随机空白区域?

时间:2018-02-05 00:29:38

标签: html css

我试图找到我的积木容器下面的空白区域来自哪里。我可以通过添加否定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%;
}

1 个答案:

答案 0 :(得分:3)

这是因为那些DIV是inline-block;元素,它们在基线处对齐(如文本),这意味着在该基线下面的某些空格是为字母下面的那些部分保留的(就像在字母中一样) g,j,p等。)。

您可以在vertical-align: top元素上使用inline-block来避免这种情况。