14

我已经在网上查看了这个答案,但在我看来,为了在 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 的链接:

底部居中的 img - js.fiddle

4

2 回答 2

65

如果您希望它是绝对位置,请这样做:

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

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

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

于 2013-07-12T21:19:24.293 回答
0

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

img {
   position: absolute;
   bottom: 0;
   left: 50%; /*half the container width*/
   margin-left: -250px; /*half the width of the image*/
}
于 2017-03-16T22:18:19.677 回答