Prepros / XAMPP在最后一个div / footer下添加不需要的空间

时间:2015-12-10 10:18:50

标签: css flexbox space prepros

尽管将所有边距和填充设置为0,我突然发现处理我的html& css使用预备(也尝试使用XAMPP),在我的上一个项目下添加额外的(不需要的)空间即。页脚。在运行相同的html&直接来自Notepad ++的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:

enter image description here

enter image description here

对此事的任何澄清表示感谢。注意:以上是我尝试过的每个浏览器(Chrome,Firefox和Opera)的差异。

1 个答案:

答案 0 :(得分:1)

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

header, .wrapper{
  flex: 3;
}

footer{
  flex: 1;
}

它对我有用。