0

すべてのマージンとパディングを 0 に設定しているにもかかわらず、Prepros (XAMPP でも試しました) を使用して html と css を処理すると、最後のアイテムの下に余分な (不要な) スペースが追加されていることが突然わかりました。フッター。同じ html & css を Notepad++ から直接実行している間は、これを行いません (ありがたいことに)。私は最終的にローカルホストから実行するので、誰かがなぜこれが起こっているのか説明してもらえますか. 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:/// から、もう 1 つは localhost から実行されている同じコードのイメージを次に示します。

ここに画像の説明を入力

ここに画像の説明を入力

この問題に関する説明をいただければ幸いです。注:上記は、私が試したすべてのブラウザ(Chrome、Firefox、およびOpera)での不一致です。

4

1 に答える 1

1

あなたが位置に言及したからだと思います:絶対; フッター用。flex プロパティはブロックに適用されないため、そうすべきではありません。次のように、子アイテムごとに flex を使用してみてください。

header, .wrapper{
  flex: 3;
}

footer{
  flex: 1;
}

わたしにはできる。

于 2015-12-10T10:39:12.220 に答える