我想在div中垂直居中一个div。我的外部div是全屏,它覆盖整个屏幕。我的内部div在position:relative
。
<div class="fullscreen">
<div class="fullscreen-centered">
<p>...........</p>
</div>
</div>
.fullscreen-centered{
position: relative;
top: 50%;
transform:translateY(-50%);
}
工作正常。但我也使用skrollr.js为内部div添加一些视差效果。这就是为什么当我使用data-top=transform:0px
来使用效果时,会被上面的transform
取代,所以它会失去它的居中位置。
另一个Hack可能是display:table-cell
但它不起作用。
是否有其他方式而不是使用transform
?
答案 0 :(得分:0)
使用display: table(-cell)
和vertical-align
而不使用position: relative;
和transform
s。
<style>
.fullscreen {background: #eee; width: 600px; height: 300px; display: table;}
.fullscreen-centered{display: table-cell; background: #ccc; vertical-align: middle;}
</style>
<div class="fullscreen">
<div class="fullscreen-centered">
<p>...........</p>
</div>
</div>