我有一个响应网站,每个交替的部分都有一个固定的背景图像,内容应该在图像上滚动。现在,在iOS上,它放大到图像的一小部分,并将其放大以适应内容div(我基本上会得到一个大的灰色背景)。如何在iPhone浏览器上也能在固定背景上滚动部分?
这是我当前的后台代码:
.scroll-background {
background: url("../imgs/misc.jpeg") no-repeat top center fixed;
background-size: cover;
}
.scroll-background2 {
background: url("../imgs/misc2.jpeg") no-repeat top center fixed;
background-size: cover;
}
.center{
padding: 0 2em;
margin: 0;
position: relative;
top: 50%;
}
和html:
***编辑我已经删除了所有的响应内容,我发现问题是图像正在扩展到整个页面,而不仅仅是它应该包含的部分,但只有在iOS上使用浏览器时才会发生这种情况。例如,"大约"部分的背景图像按比例缩放以覆盖所有三个部分,然后背景的放大部分显示在第一部分中。如果我删除其他部分,图像会缩小到正确的大小。
<body id="top">
<section id="about">
<div class="scroll-background center">
<p>
Lorem ipsum dolor sit amet, ut ac etiam sed vitae dictum euismod, blandit in aliquam odio ac sed duis. Lacus velit mollis augue sem eu.
</p>
</div>
</section>
<section id="skills">
<div class="center">
<p>
Lorem ipsum dolor sit amet, ut ac etiam sed vitae dictum euismod, blandit in aliquam odio ac sed duis. Lacus velit mollis augue sem eu.
</p>
</div>
</section>
<section id="portfolio">
<div class="scroll-background2 center">
<p>
Lorem ipsum dolor sit amet, ut ac etiam sed vitae dictum euismod, blandit in aliquam odio ac sed duis. Lacus velit mollis augue sem eu.
</p>
</div>
</section>
</body>
感谢
问题似乎是由您设置的background-attachment: fixed;
和background-size: cover;
属性的组合引起的。
注意:为其他可能读到这篇文章并认为"我在OP的问题中看不到background-attachment: fixed;
属性…"的人澄清。此属性已在background: ... no-repeat top center fixed;
中内联设置。你可以看到它是最后一个属性集。
回到OP的问题:iOS存在阻止background-size: cover;
和background-position: fixed;
一起使用的问题。caniuse.com实际上引用了一个现有的Stack Overflow问题作为解决方法。
希望这能有所帮助:)