我在垂直居中时遇到问题。的header
高度为100vh
,其子元素 ,site-info
的高度未指定。该site-info
元素应该垂直居中在header
.
我已经尝试了标准transform:translateY
解决方案,但它不起作用。Top:50%
确实有效,但就像transform
没有发生一样。我可以通过 FireBug 看到该transform
属性已附加到site-info
,但没有任何反应。
我也尝试过使用vertical-align: center
onsite-info
没有成功,并使用一些position:absolute
解决方案header
使其完全消失。使用position:absolute
onsite-info
也无济于事。
HTML:
<header>
<div class="site-info">
<h1>Title</h1>
<p>some content</p>
</div>
</header>
CSS:
header{
background-position:top center;
background-size:100%;
background-size:cover;
height:100vh;
position:relative;
text-align:center;
color:white;
overflow:hidden;
}
div.site-info{
position:relative;
text-align:center;
display:inline-block;
top: 50%;
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}