html - 如何在位置为 :fixed? 的 div 中垂直居中图像

标签 html css centering

<分区>

我研究了很多不同的垂直居中技术,但没有一个对我有用——主要是因为我使用的是固定定位的 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%;
}

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

最佳答案

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

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

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

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

关于html - 如何在位置为 :fixed? 的 div 中垂直居中图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23256832/

上一篇:css - 无法缩短此 li 标签的高度

下一篇:html - 有两个短的文本部分,一个在左边,一个在右边,更好的方法是什么?

相关文章:

javascript - 使用一个复选框禁用更多字段

css - 从 radcombo 框中删除背景

iphone - 不可缩放的 webview,适用于 iPhone 和 iPhone4 分辨率

css - 调整窗口大小时如何裁剪图像并保持其居中

css - 如何无缝对齐不同大小的 block div?

html - CSS :Hover Selecting Too Many

javascript - Css3 slider 多图像

html - 如何在 CSS 中水平调整页面大小时停止图像缩小

javascript - 如何垂直和水平对齐一个div到页面中心

JavaScript 转义字符