【发布时间】:2012-12-13 12:23:25
【问题描述】:
我知道此类问题已多次发布,但我似乎无法弄清楚我的问题是什么。我有一块文本,我想将它垂直居中放在页面的左侧。我不想使用沉重的填充来使文本居中。如果访问者随窗口高度变化,我希望它垂直居中。
我有一段文字:
<div class="welcome">
<p>Testing Stuff</p> <br /> <br />
<p>Testing Stuff</p> <br /> <br />
<p>Testing Stuff</p> <br /> <br />
<p>Testing Stuff</p>
</div>
这是欢迎
的CSS.welcome {
position: absolute;
top:50%;
display: table;
vertical-align: middle;
padding-left: 50px;
font-family: 'Helvetica-Light';
font-size: 40px;
}
.welcome p{
display: inline;
vertical-align: middle;
padding: 10px;
background: black;
color: white;
opacity: 0.7;
white-space: nowrap;
}
目前 top:50% 设置文本从 50% 开始,但我需要文本块的中心在 50%,而不是从 50% 开始。
请帮忙。
【问题讨论】:
-
<br>标签有什么用? -
你可以添加 align : center for .welcome 看看它是否有效
-
段落行之间的间距。我在文本上添加了背景,我需要更多空间,这样背景就不会重叠。有没有比
标签更好的方法? -
好的,它在这个 fiddle 的中心,但它还没有完全到位:jsfiddle.net/userdude/CuUgV
-
不完全;这不仅仅是发布的内容(“单元格”之间的白色间隙),而且我不太喜欢瞬态
div.row在那里。问题是,display: table方法有点需要额外的层来让display: table-cell充当中等(字面上和比喻上的)替身。不过,我还没有想出更优雅、更简洁的方法。