【发布时间】:2015-06-23 22:21:39
【问题描述】:
我正在尝试创建一个网站,其中可能包含多个流畅的背景部分,这些部分在移动设备、平板电脑和台式机之间的规模是一致的(包括不同的分辨率)。背景将保持在中心以覆盖整个区域,并在所有设备类型中以相同的比例显示。
我尝试过的事情是:background-position: cover 会拉伸但会随着显示器宽度缩放,从而导致图像移动。
并创建了一个背景包装器,其内部部分的固定宽度约为 1920 像素。高度是固定的。
此时效果最好的是具有指定宽度的包装器内的背景。
https://jsfiddle.net/dy6ab36y/
HTML:
<div class="background-wrapper">
<div class="background-inner"></div>
</div>
CSS:
.background-wrapper {
left: 0px;
top: 0px;
width: 100%;
height: 250px;
display: block;
overflow: hidden;
}
.background-inner {
width: 1920px;
left: 50%;
margin-left: -960px;
position: absolute;
height: 250px;
display: block;
background-position: 50% 50%;
background-size: cover;
}
有没有更有效的方法来解决这个问题?
【问题讨论】:
-
这对你有用的唯一原因是你的内盒有一个固定的尺寸,所以
background-size: cover变得无关紧要(因为你的内盒不是流动的)。您不妨将您的background-size定义为1920px auto并完成它...