私は説明できない奇妙な振る舞いをしています。私のコードの冒頭に、<!DOCTYPE html>
という行を置くと、私のページのスクロールバーは "main"というタグの周りにありません。私はこの最初の行を削除する場合、私は期待された動作があります。何故ですか?私の間違いは何ですか?予期せぬレイアウトのDOCTYPE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1.0">
<title>Off Track</title>
</head>
<body style="margin: 0px; padding:0px;">
<header style="background:green; width:100%; height: 50px;">
</header>
<main style="background:red; width:100%; height:calc(100% - 70px); overflow-y: auto">
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
</main>
<footer style="background: yellow; width:100%; height:20px;">
</footer>
</body>
</html>
NB:私はheight:calc(100vh - 70px)
でheight:calc(100% - 70px)
を交換する場合、私はまた、期待される動作を持っていますが、私はvh
を使用しないようにしたいです。
あなたは「100%機能していない」(二つの異なる問題を抱えていますと "異なるドームタイプの異なるレンダリング")を参照してください。 2つの重複(リンク)は、それぞれの質問を別々にカバーします。 – Quentin
あなたが知っているなら、あなたの問題を解決するはずのhtmlタグを1つしか持たず、特定の高さに保つ必要があります –