html - 同时水平和垂直居中段落文本

标签 html css

我需要将段落中的文本水平居中和垂直居中。段落本身必须填充父元素可用高度宽度的100%,而不设置显式/静态宽度 为段落(可以接受 100% 之类的百分比)。

HTML

<div>
<p>Sudo make me a sandwich.</p>
</div>

CSS

div
{
 background-image: url('idahoisntafraidofgorillas.png');
 height: 138px;
 width: 100%;
}

p
{
 display: table-cell;
 text-align: center;
 vertical-align: center;
}

理想情况下,这不需要任何高于 CSS 级别 2 的内容。除非我设置静态 width,否则当前代码实际上并不使文本居中,但这会破坏我正在处理的 CSS所以我正在寻找一个更优雅和更合适的解决方案。

最佳答案

尝试 vertical-align: middle 并将 display: table 添加到 div

div {
 height: 138px;
 width: 100%;
 border: 1px solid black;
 display: table;
}

p {
 display: table-cell;
 text-align: center;
 vertical-align: middle;
}
<div>
  <p>Sudo make me a sandwich.</p>
</div>

关于html - 同时水平和垂直居中段落文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923823/

相关文章:

c# - 接受 HTML 和带拼写检查的输入/输出的 .NET 文本编辑器

javascript - jQuery.get 返回旧数据

html - CSS负边距以对抗包装元素填充

javascript - 如何使用 ng-class 在值计算为空时删除类

css - 2 列的 Ipython 笔记本

html - 如何阻止溢出的跨度剪掉另一个跨度

javascript - 如何在 Twig 中包含样式表

javascript - 从服务器获取一张图片,存入localStorage,并显示出来

html - CSS 不覆盖用户代理按钮样式

javascript - 有没有一种方法可以使用 javascript 仅合并表中的特定列