【问题标题】:How do I center an image vertically within a div that is position:fixed? [duplicate]如何在位置固定的 div 中垂直居中图像? [复制]
【发布时间】:2014-06-09 00:37:31
【问题描述】:

我查看了很多不同的垂直居中技术,但没有一个对我有用 - 主要是因为我使用的是固定定位的 div。

<div id="lightbox">
<div id="lightboxImgContainer">
<img src="' + image_href + '" />
</div>
</div>

#lightbox {
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#ffffff;
text-align:center;
z-index:4;
display:none;   
}

#lightboxImgContainer
{
display:table-cell;
vertical-align:middle;
max-height:100%;
max-width:100%;
text-align:center;
}  

#lightbox img {
max-height: 100%;
max-width: 100%;
}

另外,我是唯一一个认为垂直对齐不像水平对齐那么简单的笑话的人吗?我花了太多时间来完成本应简单的任务。

【问题讨论】:

标签: html css centering


【解决方案1】:

最简单的方法是设置为背景图片:

#lightbox {
  background:url(myimage.jpg) no-repeat center center
}

或者,如果你 don't need to support IE <= 9,你可以使用 flexbox

#lightbox {
  display: flex;
}
#lightbox img {
  align-items:  center;
}

【讨论】:

  • 你说什么支持差,连IE都有!
  • @Abhishek 仅在 IE 11、FF 28、Chrome 29 和 Android 4.4 Kitkat 上提供完整的、无供应商前缀支持。移动和桌面 safari 最近更新到新版本的规范,并且没有删除供应商前缀。
猜你喜欢
  • 2014-09-02
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 2012-07-01
  • 2014-01-16
相关资源
最近更新 更多