为什么底部对齐的组件超出了?

时间:2015-12-11 10:40:21

标签: html css

我将元素与body的顶部和底部对齐,其大小设置明确:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <style>
            body {
                height: 1024px;
                width: 1280px;
                font-size: 20pt;
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
            }
            div {
                background: red;
                color: white;
            }
            .down {
                margin-top: auto;
            }
        </style>
    </head>
    <body>
        <div class="up">upper text</div>
        <div class="down">lower text</div>
    </body>
</html>

然而,底部元素延伸到预设尺寸之外(我附上两个截图,因为我无法同时显示计算尺寸的Chrome开发工具和显示其长度的标尺应用 - 这是相同的窗口):

enter image description here enter image description here

为什么会这样?在计算位置时,是否应该考虑div(内容,填充,边框)的所有组件?

2 个答案:

答案 0 :(得分:1)

您需要从正文中删除默认margin

      body {
        height: 1024px;
        width: 1280px;
        font-size: 20pt;
        display: flex;
        flex-direction: column;
        margin: 0;
      }

答案 1 :(得分:1)

您是否尝试重置正文的默认值?

如果没有,你可以试试这个

body {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}