尝试使用以下方法获取完整尺寸的背景图片:
html {
height: 100%;
background:url('../img/bg.jpg') no-repeat center center fixed;
background-size: cover;
}
它显示的背景图像宽度正确但高度会拉长。 我尝试了各种选项,如
html {
background:url('../img/bg.jpg') no-repeat center center fixed;
background-size: 100% auto;
-webkit-background-size: 100% auto;
-moz-background-size: 100% auto;
-o-background-size: 100% auto;
}
删除height: 100%
但他们都没有工作。
答案 0 :(得分:29)
您的屏幕显然与图像形状不同。这并不罕见,即使您的屏幕具有相同的形状(宽高比),您也应该始终迎合这种情况,因为其他人的屏幕并不总是如此。要解决这个问题,您只有三个选项之一:
background-size: cover
background-size: contain
background-size: 100% 100%
答案 1 :(得分:6)
尝试使用contains而不是cover,然后将其居中:
background-size: contain;
background-position: center;
答案 2 :(得分:3)
background: url(images/bg.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
答案 3 :(得分:1)
更好的解决方案可能是使用轻量级jQuery插件动态调整浏览器站点的背景大小。我非常喜欢的是backstretch.js。它们的实施非常简单。
答案 4 :(得分:0)
你应该使用body作为选择器而不是html,这会导致你的标记出现问题。您的代码如下:
html {
height: 100%;
background:url('../img/bg.jpg') no-repeat center center fixed;
background-size: cover;
}
我会尝试类似的事情:
body {
background:url('../img/bg.jpg') no-repeat 50% 0 fixed;
margin: 0 auto;
}
您不必指定图像的尺寸。
答案 5 :(得分:0)
我在body
background: url(image.jpg);
background-color: rgba(0, 0, 0, 0);
background-position-x: 0%;
background-position-y: 0%;
background-size: auto auto;
background-color: #0a769d;
height: 100%;
min-height: 100%;
max-height: 100%;
width: 100%;
background-size: 100% 100%;
background-position: center;
max-width: 100%;
min-width: 100%;
top: 0;
left: 0;
padding: 0;
margin: 0;