我知道拉伸静态背景图像并覆盖整个屏幕的最简单,最兼容的方法是:
html { min-height: 100%; }
body
{
background: url('https://i.imgur.com/YSRXO72.jpg') no-repeat center fixed;
background-size: cover;
}
html { min-height: 100%; }
是为了防止html正文中的内容很少,这样可以确保背景仍在整个屏幕上延伸。
几乎在任何情况下都可以正常使用,但是如果页面中的更多内容比屏幕上的内容更合适,则Android上的Chrome似乎会拉伸背景图片以覆盖整个页面而不是屏幕。
实例:https://jsfiddle.net/7cnuytk2/
(请注意,我还在其中设置了-webkit
-moz
和-o
背景大小设置以实现兼容性,但它也可以不用。
我故意在这里用N / E / S / W标记拍摄测试背景图像,你应该总是在中心看到'中心'以及顶部+底部或左边+右边缘。
在所有情况下,背景都得到了适当的拉伸,但Android上的Chrome除了拉得太多之外。如果html部分中的内容较少,例如只需一个<h1>test</h1>
或其他东西,它在Chrome上也可以正常使用。
有什么想法吗?这是Chrome中的错误吗?我可以解决这个问题,而不会回到各种肮脏的javascript hackery吗?