我一直无法让我的页面元素在移动Safari(iPhone和iPad)中填满100%的视口高度。我有一个元素,其中包含设置为100%高度的页面元素(以及HTML和Body设置为100%高度),此DOES填充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>