我有一个 div
有两个图像和一个 h1
。所有这些都需要在 div 中垂直对齐,彼此相邻。其中一张图片需要 absolute
位于 div
中。
在所有常见浏览器上工作需要什么 CSS?
<div id="header">
<img src=".." ></img>
<h1>testing...</h1>
<img src="..."></img>
</div>
原文由 Abdu 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个 div
有两个图像和一个 h1
。所有这些都需要在 div 中垂直对齐,彼此相邻。其中一张图片需要 absolute
位于 div
中。
在所有常见浏览器上工作需要什么 CSS?
<div id="header">
<img src=".." ></img>
<h1>testing...</h1>
<img src="..."></img>
</div>
原文由 Abdu 发布,翻译遵循 CC BY-SA 4.0 许可协议
现在 Flexbox 支持越来越多,这个应用于包含元素的 CSS 将垂直居中所有包含的项目(除了那些自己指定对齐方式的项目,例如 align-self:start
)
.container {
display: flex;
align-items: center;
}
如果您还需要针对 Internet Explorer 10 和更旧的(< 4.4 (KitKat))Android 浏览器,请使用带前缀的版本:
.container {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-align: center;
-webkit-align-items: center;
-webkit-box-align: center;
align-items: center;
}
原文由 E. Serrano 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2.9k 阅读✓ 已解决
2 回答870 阅读✓ 已解决
4 回答969 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答841 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
哇,这个问题很流行。这是基于对
vertical-align
属性的误解。这篇优秀的文章对此进行了解释:了解
vertical-align
,或 Gavin Kistner 的“如何(不)垂直居中内容” 。“How to center in CSS” 是一个很棒的网络工具,可以帮助找到不同情况下必要的 CSS 居中属性。
简而言之(并防止链接失效) :
vertical-align: middle
在其上下文中垂直对齐。但是,“上下文”不是整个父容器的高度,而是它们所在的文本行的高度 。jsfiddle 示例absolute
and specify itsheight
,margin-top
andtop
position. jsfiddle 示例line-height
来填充它的高度。根据我的经验,这种方法非常通用。 jsfiddle 示例