这是我到目前为止:
http://jsfiddle.net/yisera/2aVpD/
我需要在.jumbotron-special
容器内垂直居中。
我尝试在父元素上使用display: table;
,然后在子元素(带有H1和H2的元素)上使用display:table-cell
,但到目前为止没有运气,我已经没有想法了。我不想使用绝对定位,因为这需要响应,并且随着分辨率变小,布局误入歧途。
任何想法如何将它集中到jumbotron父div?
答案 0 :(得分:7)
您可以使用以下代码div
.jumbotron-special
将以下属性添加到class
display:flex;
justify-content:center;
align-items:center;
工作代码:JSFIDDLE
更多关于Flex Box
阅读有关Flex here
的更多信息答案 1 :(得分:2)
试试这个:
#yourdiv {position:absolute; top:50%; height:800px; margin-top:-400px; }
其中margin-top
是height
的负半部。
或者,另一种有效的方法有2个div:
<div id="controller-div">
<div id="your-div">
Content here
</div>
</div>
margin-bottom
height
的{{1}}消极的一半:
#controller-div {float:left; height:50%; margin-bottom:-120px;}
#your-div {clear:both; height:240px; position:relative;}
答案 2 :(得分:1)
这也适用(你只是错过了添加height:100%
)
.container-text{
color: #fff;
text-shadow: #333 3px 3px;
display: table;
width: 100%;
height: 100%;
}
.inner-container {
display: table-cell;
text-align: center;
vertical-align: middle;
}
答案 3 :(得分:1)
这是另一个比flexbox更多支持的选项。
body{
width: 100%;
height: 100%;
}
.full-jumbotron{
font-size: 10em !important;
margin-top: -70px;
height: 100vh;
background: #333;
min-height: 100%;
max-height: 100%;
}
.container-text{
color: #fff;
text-shadow: #333 3px 3px;
height: 100%;
display: table;
width:100%;
}
.inner-container {
display: table-cell;
vertical-align: middle;
width:100%;
}