在table-cell元素中水平和垂直居中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在table-cell元素中水平和垂直居中相关的知识,希望对你有一定的参考价值。

我有这个结构(简化):

<div id="outer" style="display: table-cell">
  <div id ="someOtherDiv">.......</div>
  <div id="inner" style="text-align: center; vertical-align: middle">
    <img src="path" />
  </div>
</div>

我需要IMG垂直和水平居中。

图像仅在屏幕上水平但垂直居中。

我还应该添加什么才能实现这一目标?

当然,如果我将BODY设置为100%高度,然后内部div也是100%高度它可以工作,但事实是我实际上不能将100%高度添加到BODY标签,所以我需要这样做只改变INNER div的一些风格。

我想如果OUTER div是表格单元格,理想情况下,垂直对齐样式应该有效,但事实并非如此。实际上,当使用Firebug时,我可以看到OUTER div扩展到所有屏幕,而INNER div只会占用IMG空间。

有什么建议吗?

答案
...
<div id="inner" class="flexbox; align-items: center">
  <img src="" class="vertical-align: middle"/>

也许使用flexbox和align-items作为内部div,然后在img标签中垂直对齐img。但也要考虑设置的宽度,填充和高度,以控制图像所需的最大空间。

以上是关于在table-cell元素中水平和垂直居中的主要内容,如果未能解决你的问题,请参考以下文章

如何使文字在div中水平和垂直居中的css代码

如何使用自动布局在屏幕中水平和垂直居中 UILabel?

xml 在TextView中水平和垂直居中文本

在 LaTeX 中水平和垂直居中文本 [关闭]

使文字在div中水平和垂直居中的的css样式为,四个边分别设置阴影样式

如何在页面中水平和垂直居中微调器? [复制]