我正在使用这个CSS:
.wrap {
max-width:1400px;
min-width:768px;
width:100%;
background-repeat: no-repeat scroll;
background-position: center top;
position: relative;
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.image {
width: 100%;
height: 600px;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
要使图像居中并根据窗口大小进行缩放,请将缩放停止在768px。当窗口尺寸较大时,我无法显示图像的底部(当窗口最小化时,它可以正常工作)。当我将.image
类的高度更改为600px以上时,会破坏图像缩放...
以下是问题的演示: http://jrbaldwin.com/css_issue/
答案 0 :(得分:3)
我认为这不是缩放因为高度保持固定。例如,将.image高度设置为1000px。它必须放大图像以覆盖1000px,因此无论图像宽度如何,它都可以随时填充整个1000px的高度。
可能尝试:
background-size:100%; background-repeat:no-repeat;
答案 1 :(得分:1)
在@ jtlowe的答案基础上,使用background-size: contain
代替你无法达到正确的效果吗?
由于您已经牢牢占据CSS3域,因此您可以选择创建在较小尺寸窗口中使用cover
的媒体查询。
答案 2 :(得分:1)
使用background-size:包含而不是封面。
答案 3 :(得分:1)
试试这个样式:
.image{
width: 100%;
height: 600px;
max-height: 1000px;
background-size: contain;
background-repeat: no-repeat;
background-position: center center;
max-height: 1000px;
}
主要思想是使用“包含”属性
更多信息:https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Scaling_background_images