如何在 <span> 中垂直居中文本?

新手上路,请多包涵

如何垂直居中包含在 <span> 中的文本? <span> 必须有 min-height45px 。这是我的设想:

 --------                  -------
text

                --->      text

--------                  -------

我尝试 vertical-align 以及 本文 中的方法。他们都没有工作

原文由 Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 383
2 个回答

尝试使用 flexbox ,所有现代浏览器都支持它,带有 前缀 它也适用于 IE10。

 span {
  min-height: 100px;
  display: inline-flex;
  align-items: center;
  border: 1px solid aqua;
}
 <span>vertical center</span>

原文由 Stickers 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 span 时,您可以简单地将显示方法更改为 table-cell 。请记住,如果您要使用 div 而不是 span,您可能需要使用其他方式。

 span {
  height: 45px;
  border: 1px solid #444;
  display: table-cell;
  vertical-align: middle;
}
 <span>text</span>

原文由 Mojtaba 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏