我一直无法让我的页面元素填充移动 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>