2015-09-07 57 views
0
text-align: center; 
box-sizing: border-box; 
color: #fff; 
float: left; 
width: 50%; 
height: 65vh; 
padding-top: 14% 

这是我的CSS。我想要的是文字正好在中间,但它不起作用,因为我的身高取决于屏幕高度。我该如何解决这个问题?垂直高度的CSS文本

+0

玩弄线高度。 – Lowkase

+0

'line-height:100px'(或你的身高值),并移除'padding-top','heigh'属性。 – gmunkhbaatarmn

+0

但如果我做100px作为行高,它不会响应? – Cooln

回答

0

您可以使用Flexbox布局。

为Flexbox的

很好的指导:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

显示:弯曲组布局了flexbox布局

证明内容:中心集文字水平中心

对齐项:中心将文字设置为垂直中心

.container { 
 
    width: 150px; 
 
    height: 150px; 
 
    border: 3px solid black; 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
}
<div class="container"> 
 
    <p class="text">Some Text</p> 
 
</div>

+0

它工作完美。现在让我们说,我使用的代码(这完美的作品,谢谢),但我想在下面的另一个div上使用它。然后我有一个问题,因为有不同的高度。 65vh和35vh。请帮忙! – Cooln

+0

@Cooln这两个div如何放置?在彼此之上?一个在另一个内?如果你能分享一些HTML,会更好。 – tmvnty

0

你可以使用display:table-cell

.container { 
 
    width: 150px; 
 
    height: 65vh; 
 
    border: 3px solid black; 
 
    display: table-cell; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
}
<div class="container"> 
 
    <p class="text">Some Text</p> 
 
</div>