[英]Vertically center vertical text
我有一些垂直文本,我不能在他們的div中垂直居中。 這是一個例子: http : //jsfiddle.net/hThGb/2657/
查看3個div(2個橙色和1個紅色)。 div中的文本不是垂直居中的,使得文本在div之外泄漏。
我嘗試過vertical-align: middle
但是不會做任何事情。
如何將div中的垂直文本垂直居中?
有一種方法可以使文本(多行文本)在未知高度的容器中垂直居中。
訣竅是使用100%高度容器的偽內容,設置display:inline-block
。 你的子元素也必須display:inline-block;
HTML
<div>
<p>texts online line</p>
</div>
<div>
<p>texts will be shown in two lines, lorem ipsum doilor sit amet conse </p>
</div>
<div class="last">
<p>texts will be shown in three lines, lorem ipsum doilor sit amet conse lorem ipsum dolor sit </p>
</div>
CSS
div {
background:#bababa;
padding:10px;
width:260px;
height:100px;
margin:0 0 10px;
}
.last {
height:200px;
}
div > p {
margin:0;
display:inline-block;
vertical-align:middle;
width:100%;
}
div:before {
content:"";
display:inline-block;
height:100%;
vertical-align:middle;
width:0px;
font:0/0 a;
margin-left:-4px;
}
這是怎么回事
全部display:inline-block
同一兄弟中的display:inline-block
元素將對CSS的vertical-align
屬性做出反應; 偽元素將占據容器的100%高度,其他元素將對此作出反應! 因此,您可以垂直居中,中間或底部或頂部均勻。
正如在這里應用#chat
,現在可以使用flexbox輕松完成此操作。
你可以使用padding
這三個div
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.