0

尽管将所有边距和填充设置为 0,但我突然发现使用Prepros(也尝试使用 XAMPP)处理我的 html 和 css 在我的最后一项下添加了额外的(不需要的)空间,即。页脚。直接从 Notepad++ 运行相同的 html 和 css 时,不这样做(谢天谢地)。有人可以解释为什么会发生这种情况,因为我最终将从本地主机运行。这是HTML:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf=8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <header>header</header>
    <div class="wrapper">wrapper1</div>
    <div class="wrapper">wrapper2</div>
    <footer>footer</footer>
  </body>
</html>

这是CSS:

html {
  margin: 0;
  padding: 0;
  border: 3px solid green;
}

body {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border: 3px solid lightblue;
  height: 100vh;
}


header {
  flex: 1;
  height: 50%;
  background-color: red;
  border: 3px solid black;
}

.wrapper {
  flex: 1;
  height: 20%;
  background-color: blue;
  border: 3px solid black;
}

footer {
  height: 5%;
  position: absolute:
  bottom: 0;
  background-color: orange;
  margin: 0;
  padding: 0;
}

以下是运行相同代码的图像,首先来自 file:///,另一个来自 localhost:

在此处输入图像描述

在此处输入图像描述

希望对此事作出任何澄清。注意:以上是我尝试过的每个浏览器(Chrome、Firefox 和 Opera)的差异。

4

1 回答 1

1

我认为这是因为您提到了一个职位:绝对;为页脚。你不应该,因为 flex 属性不再适用于块。尝试对每个子项使用 flex,例如:

header, .wrapper{
  flex: 3;
}

footer{
  flex: 1;
}

这个对我有用。

于 2015-12-10T10:39:12.220 回答