具有绝对位置的div中的水平中心动态图像

时间:2013-07-12 21:14:11

标签: css image dynamic center

我已经在网上看到了这个答案,但在我看来,为了将图像水平居中于具有绝对位置的div,我需要知道图像的尺寸,但它是动态的。

这是我的HTML:

<header>
<div id="elogo">
    <img src="http://www.ftiweb.com/images/eStore/eStore_wht50.png">
</div>
<div id="nav">TOUR | MENU</div>
</header>
<div id="content">
<img class="ipad" src="http://ftiweb.com/images/eStore/Ipad_hand.png">
</div>
<footer>
<div id="foot">&#169; FTIeStore 2013 &bull; Privacy Policy</div>
</footer>

这是我正在使用的.css:

#content {
width: 70%;
height: 80%;
border: 1px solid red;
position: absolute;
bottom: 0px;
left: 50%;
margin-left: -35%;
display: table-cell;

img.ipad {
max-width: 100%;
max-height: 100%;
position: absolute;
bottom: 0px;
display: block;
}

目标只是让图像保持在页面的底部/中心并重新调整大小以适应浏览器窗口。如果我过于复杂,请随意提出替代方案。

以下是js.fiddle的链接:

bottom-centered img - js.fiddle

2 个答案:

答案 0 :(得分:61)

如果你想让它成为绝对位置,请这样做:

http://jsbin.com/aveped/1/edit

img {
  width:20%;
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  margin:auto;
}

父母需要相对位置,否则它将被定位在身体上。 你不需要宽度,我只是包括宽度因为我的图像太大了。

答案 1 :(得分:0)

left =中心位置 - 图像宽度的一半

img {
   position: absolute;
   bottom: 0;
   left: 50%; /*half the container width*/
   margin-left: -250px; /*half the width of the image*/
}