2

我一直无法让我的页面元素填充移动 Safari(iPhone 和 iPad)中 100% 的视口高度。我有一个元素,其中包含我的页面元素设置为 100% 高度(以及 HTML 和正文设置为 100% 高度),这确实填充了 100% 的视口高度。

问题是容器的 3 个子元素(.main-header:10%、.main-content:80% 和 .main-footer:10%)加起来 100% 的高度仍然很小(大约 2px ) 页面底部的空白处,我可以在其中看到父 (.page) 元素的背景。

如果其他人经历并解决了这个问题,我将非常感谢任何帮助。

谢谢!

你可以在这个小提琴上看到我精简的 HTML/CSS:http: //jsfiddle.net/Rockstar79/zpTtF/

这是带有元标记等的完整代码:

CSS

html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

div {
    margin: 0;
    padding: 0;
}

h1,h2,h3,h4,h5,h6,
p {
    font-size: 100%;
    margin: 0;
    padding: 0;
}

.page {
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0;
    padding: 0;
}

.main-header {
    width: 100%;
    height: 10%;
    position: relative;
}

.main-content {
    width: 100%;
    height: 80%;
    position: relative;
    background-color: yellow;
}

.main-footer {
    width: 100%;
    height: 10%;
    position: relative;
}

.main-header,
.main-footer {
    background-color: blue;
}

HTML

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Plain Mobile Test</title>

    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

    <link type="text/css" rel="stylesheet" href="css/main.css" />
</head>
<body>
    <div class="page" id="page-1">
        <div class="main-header">
            <h1>Header</h1>
        </div>
        <div class="main-content">
            <p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet sunt aut libero sequi distinctio molestias nulla quidem fugiat. Maxime voluptates.
            </p>
        </div>
        <div class="main-footer">
            <h3>Footer</h3>
        </div>
    </div>
</body>
</html>
4

0 回答 0