【问题标题】:Keep a background image centered even when window is resized即使调整窗口大小,也保持背景图像居中
【发布时间】:2011-09-10 11:01:25
【问题描述】:

我有一个容器 div,其中另一个 div 居中并带有背景图像。

当我调整浏览器窗口的大小时,我希望图像保持居中,即使浏览器窗口的宽度小于图像的宽度。

这里有一些代码:

CSS:

.wrap {
    width:100%;
    height:357px;
    background-color:red;
    overflow:hidden;
    text-align:center;
}
.image {
    margin:0 auto;
    background:url('http://4.bp.blogspot.com/-GKx0A_H8DGE/Tb9bTBCC5pI/AAAAAAAAANc/jvjcjvuNmGk/s1600/wide-angle-lens-3-1.jpg') no-repeat;
    width:500px;
    height:357px;
}

HTML:

<div class="wrap">
    <div class="image"></div>
</div>

您可以看到,当调整浏览器大小时,图像在到达屏幕左侧后会停止“居中”。我想要的是仍然看到图像的中心,左侧被剪掉并且基本上向左移动到屏幕外。仅使用 CSS 是否可行?如果不可能的话,我也会对 JS 解决方案感兴趣。

【问题讨论】:

  • 不是图像没有居中;它是div 包含 background-image

标签: css background-image


【解决方案1】:
.wrap {
    height: 357px;
    background-color: red;
    overflow: hidden;
    position: relative;
}
.image {
    position: absolute;
    left: 50%;
    margin-left: -250px;
    background:url('/image.jpg') no-repeat;
    width:500px;
    height:357px;
}

【讨论】:

  • Chrome 和 IE 都很好,但我无法在 Firefox 中使用它:ghwd.net/background-image.html。知道为什么吗?
  • @Heraldmonkey 该网页在 FF6.0.1、FF12.0 和 FF14.0.1 中运行良好。
  • 找到罪魁祸首:FF的导航工具栏。显然我那里有太多图标...如果我关闭该工具栏,它会按照您的描述正常工作。谢谢
猜你喜欢
  • 2012-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多