当前位置: 首页 > 面试题库 >

如何在div中垂直对齐元素?

东郭鹤龄
2023-03-14
问题内容

我有一个包含两个图片的div和一个h1。它们都需要在div内垂直对齐,彼此相邻。

其中一张图片需要absolute放在div内。

要在所有常见的浏览器上运行,需要什么CSS?

<div id="header">
    <img src=".." ></img>
    <h1>testing...</h1>
    <img src="..."></img>
</div>

问题答案:

简而言之:

  • 内联元素 (并且 内联元素)可以在上下文中垂直对齐vertical-align: middle。但是,“上下文”不是整个父容器的高度,而是它们所在的文本行的高度
  • 对于块元素,垂直对齐更加困难,并且在很大程度上取决于特定情况:
    • 如果内部元件可以有一个 固定的高度 ,可以使自己的立场absolute,并指定其heightmargin-toptop位置。
    • 如果居中元素 由单条线组成, 并且 其父级高度是固定的 ,则只需设置容器的line-height高度即可填充其高度。根据我的经验,此方法用途广泛。
    • ……还有更多这样的特殊情况。


 类似资料:
  • 问题内容: 如何在容器中对齐图像? 例 在我的例子,我需要垂直居中的在用“: 的高度是固定的,图像的高度是未知的。如果这是唯一的解决方案,则可以添加新元素。我正在尝试在Internet Explorer 7和更高版本的WebKit,Gecko上执行此操作。 在这里查看jsfiddle 。 问题答案: 唯一的(和最好的跨浏览器)的方式,因为我知道是使用佣工,并在这两个元素。 因此,有一个解决方案:h

  • 问题内容: 我试图找到最有效的方法来使div对齐文本。我尝试了几件事,但似乎都没有用。 问题答案: 对于CSS 2浏览器,可以使用/ 来使内容居中。 jSFiddle提供了一个示例: 可以将旧浏览器(Internet Explorer 6/7)的hack合并为样式,并用于从较新的浏览器中隐藏样式:

  • 问题内容: 下面的代码(也可以在JSFiddle上作为演示使用没有将文本放在中间,正如我理想中的那样。即使使用属性,我也找不到任何方法可以使文本垂直居中。我怎样才能做到这一点? 问题答案: 创建一个用于文本内容的容器,也许是。 JSFiddle

  • 问题内容: 我在div中垂直对齐图像时遇到问题 据我所知,我需要“显示:块;” 定位图像在中心,这是可行的。同样在教程中,我找到了很多答案,但它们并不是“有用的”,因为我的所有图像都不在同一高度! 问题答案: 如果容器中的高度固定,则可以将line-height设置为与高度相同,并且它将垂直居中。然后只需添加text-align使其水平居中即可。 编辑 您的代码应如下所示: 更新 现在是2016年

  • 问题内容: 我可以水平对齐div,所有内容看起来都不错。寻找垂直对齐不包含任何表格的div。我尝试在#container内将边距位置设置为某些负值,但是这种方法可行。我知道CSS还不支持吗? 这是我的标记: 运行上面的代码段,然后单击“整页”以查看其当前外观。基本上,它在水平方向上看起来不错,但是现在我需要它在页面中也垂直居中。 我要垂直对齐的元素是#container div。该效果将迫使整个d

  • 问题内容: 我有一个div(#wrapper),其中包含2个并排站立的div。 我希望将右div垂直对齐。我在主包装器上尝试了vertical-align:middle,但是它不起作用。它让我发疯! 希望有人能帮忙。 HTML: CSS: 问题答案: 您没有浮点元素的运气。他们不服从垂直对齐, 您需要的是: 请小心,因为它将元素之间的空白解释为真实的空白。它不会像对待它那样忽略它。 我建议这样做: