【发布时间】:2016-01-01 15:10:03
【问题描述】:
大家新年快乐!
我在 Stack Overflow 上的第一个问题。
我正在尝试为自己构建一个简单的博客,并且我正在尽最大努力使其对大多数设备都具有响应性。但是 iPhone 4 让我头疼。
对于我的博客文章,我的设想是用户看到的第一件事是div,其高度为 100vh,宽度为 100vw,包含一张图片和一篇博客文章的标题,如下所示:
我关闭了名为“Headline”的div,并打开了一个名为“Content”的新的我希望实际博客文本所在的位置。
我在笔记本电脑、iPad、iPhone 6、5 和 4 上测试了我的网站。后者让我很头疼。一旦我将任何格式添加到“内容”div,之前的div“标题”就会被拉伸超过 100vh,因此您必须在文章正文开始之前向下滚动很远。更令人困惑的是,错误似乎不一致。重新加载页面会给我不同的结果,有时,如果我经常刷新它,它偶尔会按预期显示。以下是它有时看起来的示例:
我到处寻找解决方案,但我只是不知道我做错了什么。我很想得到一些帮助。这是我认为相关的 HTML 和 CSS,如果您需要更多信息,请告诉我。
* {
margin: 0;
padding: 0;
border: 0;
text-decoration: none;
vertical-align: baseline;
border: none;
font-weight: normal;
}
html, html a {
font-size: 10px;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
}
html {
}
body {
}
a {color: inherit;}
a:visited {text-decoration: none; color: inherit;}
#namelogo p {
padding-left: 1rem;
padding-top: 1rem;
font-size: 3rem;
color: white;
text-align: left;
}
#namelogo a {
font-size: 3rem;
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
-ms-transition: all 0.2s ease;
-o-transition: all 0.2s ease;
}
#namelogo a:hover {
text-shadow: 1px 1px 20px #fff;
}
#headline {
position:relative;
min-height: 100vh;
max-width: 100vw;
background-color: black;
background-position: center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
#layer {
min-height: inherit;
width: inherit;
}
#vertical-align {
position: absolute;
top: 52%;
-moz-transform: translateY(-52%);
-ms-transform: translateY(-52%);
-webkit-transform: translateY(-52%);
transform: translateY(-52%);
width: 100%;
}
.posttitle {
padding-left: 1.5rem;
padding-right: 1.5rem;
text-align: center;
color: white;
font-size: 4rem;
line-height: 90%;
font-family: "Crimson Text", "Georgia", serif;
}
.postinfo {
padding-top: 1.3rem;
padding-left: 2rem;
padding-right: 2rem;
text-align: center;
font-family: "Crimson Text", "Georgia", serif;
color: white;
font-size: 1.3rem;
}
#content {
max-width: 800px;
margin-left: auto;
margin-right: auto;
}
#content h1 {
font-family: "Crimson Text", "Georgia", serif;
color: #353535;
font-size: 2.8rem;
line-height: 3.4rem;
padding-top: 8rem;
padding-bottom: 4.5rem;
padding-left: 2rem;
padding-right: 2rem;
}
#content h2 {
font-family: "Crimson Text", "Georgia", serif;
color: #333333;
font-size: 2.5rem;
padding-top: 2rem;
padding-bottom: 2rem;
padding-left: 2rem;
padding-right: 2rem;
}
#content p {
font-family: "Crimson Text", "Georgia", serif;
color: #353535;
padding-left: 2rem;
padding-right: 2rem;
font-size: 2.3rem;
word-wrap: break-word;
}
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href='https://fonts.googleapis.com/css? family=Crimson+Text:400,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="headline" style="background-image: url(https://images.unsplash.com/photo-1449710146567-1e282fa41f2f?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=c1bffcef22907f217af2fdbc3e430855);">
<div id="layer" style="background-color: rgba(0,0,0,0.4)">
<div id="namelogo">
<p><a href="../index.html">Peter Dam</a></p>
</div>
<div id="vertical-align">
<h1 class="posttitle">Why the Unfamiliar is Frightening and Why You Should Face It Anyway</h1>
<p class="postinfo">January 4, 2016 • 13 minute read • by Peter Dam</p>
</div>
</div>
</div>
<div id="content">
<h1>I have never done this before. My decision to pursue a future as a writer came as a surprise to myself. When I tell people about it—especially that it will revolve around a blog—I typically receive a sympathetic, concerned smile. A smile that tells me they think it's an appealing ambition, but also naïve.</h1>
<p>
I often find myself procrastinating and postponing the act of sitting down to write. My mind is mostly on how much better the other writers are, and I feel hesitant to begin. Instead, I convince myself that it's more logical to finish designing my website first, or to read an article about how to write well.
<br><br> </p>
</div>
<div id="footer">
<p> © 2016 Peter Dam. All rights reserved.</p>
</div>
</body>
</html>
【问题讨论】:
-
如果你有
#headline有一个height: 100vh而不是min-height:100vh怎么办? -
这听起来像是可以解决问题,但不幸的是,它仍然存在。手机会显示预期的渲染半秒钟,然后它会立即伸展。还是觉得不解