【问题标题】:Centering Background Image Horizontally for Responsive Layout水平居中背景图像以实现响应式布局
【发布时间】:2020-03-19 20:06:45
【问题描述】:

我有两个背景图像堆叠在一起。根据 ajax 调用的结果,将顶部图像向上滑动以显示其后面的图像。我有以下布局:

<div id="bg_before"><img class="bg_image"></div>
<div id="bg_after"><img class="bg_image"></div>

上传的图片会根据用户的选择而有所不同。 CSS如下:

#bg_before, #bg_after {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -10;
    width: 100%;
    height: 100%;
}

.bg_image {
    background-size: cover;
    overflow: hidden;
}

图片在显示器上正确居中(我们建议上传 1920x1080 的图片)。但是,在平板电脑或手机上,我希望 1920x1080 图像居中,裁剪图像的左右两侧并将高度保持在 100%。我似乎无法让它发挥作用。我试过变换,margin-left:-50% 和 background-position: center;无济于事。

例如:http://cbotriage.bid/boards/appeal.php?item_id=569578

编辑:我正在尝试将背景图像向左移动,以便背景图像的中心位于容器 div“bg_before”的中心,即 100% 的宽度和 100% 的高度。目前,无论窗口的分辨率如何,背景图像都位于“bg_before”div的左上角。

基本上,无论设备(横向/纵向)如何,我都试图使背景图像居中。

【问题讨论】:

  • 不清楚你的意思。如果您发布一张显示您想要实现的目标的图片会有所帮助。
  • 我更新了问题以尝试澄清。

标签: jquery css background-image


【解决方案1】:

你好,查尔斯,请使用这个 css……就像我做的那样

#bg_before, #bg_after {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -10;
    width: 100%;
    height: 100%;
}
.bg_image {
    background-size: cover;
    overflow: hidden;
 }
#bg_before .bg_image {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}
<div id="bg_before"><img class="bg_image"></div>
<div id="bg_after"><img class="bg_image"></div>

【讨论】:

  • 看起来对象匹配和对象位置是我的罪魁祸首。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多