html - 将文本对齐到 div 的中心

标签 html css layout

我有一个大约 200px x 40px 的 div。有时这个 block 将包含一行文本,有时它会包含两行。如果它包含 2 行文本,我调整了行高,使其在 div 内部看起来平衡。但是,在只有一行文本的情况下,文本与 div 的顶部对齐,底部留空。

相反,我希望单行文本在 div 内垂直居中显示。设置它的最佳方法是什么?我应该将文本放在像 <p> 这样的辅助元素中吗?然后尝试申请 vertical-align: middle ?似乎应该有一种更简单、更流线型的方法来实现这一点。有什么想法吗?

最佳答案

我不确定它是否适用于任何浏览器(适用于 Firefox、Chrome、IE8)(不适用于 IE7-)

<div style="display: table-row; height: 180px; width: 500px;">
    <div style="display: table-cell; vertical-align: middle; width: 500px; text-align: center;">Text</div>
</div>

我知道在任何浏览器中绝对有效的唯一解决方案是创建一个表格并在单元格上应用垂直对齐。

关于html - 将文本对齐到 div 的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3127073/

相关文章:

javascript - wow.js 和 fullpage.js 动画触发同时滚动到/离开视口(viewport)

ios - 如何在 Xcode 中构建响应式布局(不是自动布局)?

android - 同一个 Scroll View 中的 Image 和 ExpandableListView

html - 谷歌网络字体在移动 Safari 和桌面 Chrome 上的呈现方式不同?

html - CSS 已加载但未应用

javascript - Html5 block 上传在 Chrome 25 中不起作用?

html - Firefox 对 "display:table-cell; vertical-align:bottom;"的理解不同

html - Angular 应用程序 - Material 设计

css - Div 不是浏览器的 100% 宽度

java - 如何使 TreeViewer 跨 ScrolledComposite