[英]Bootstrap: Center a container-fluid vertically
I'm trying to centre a container-fluid in it's parent container (body tag). 我正试图将容器流体放在它的父容器(body标签)中。 Here is an example of my webpage : 以下是我的网页示例:
The container in question is the one I've coloured in black to identify better. 有问题的容器是我用黑色着色的容器,以便更好地识别。 There are two other divs: 还有另外两个div:
- The top one which is a (nav class="navbar navbar-inverse navbar-fixed-top")
- The bottom one which is a (nav class="navbar navbar-inverse navbar-fixed-bottom")
The question is: how can I centre my container-fluid (in black) to always be in the middle of my page ? 问题是:我如何将容器流体(黑色)集中在我的页面中间? The content of this container will change dynamically and I cant it to always stay in the middle (same margin top and bottom) 这个容器的内容会动态变化,我不能总是留在中间(相同的边距顶部和底部)
Thanks guys. 多谢你们。
EDIT : as requested, HTML and CSS : 编辑:根据要求,HTML和CSS:
HTML : HTML:
<body ng-controller="LanguageController as language">
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#language" aria-expanded="false" aria-controls="language">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"> {{ language.lblAppName }}</a>
</div>
<div class="navbar-collapse collapse" id="language">
<div class="container vertical-center">
<label> {{ language.lblSelectLanguage }} </label>
<select ng-options="item for item in language.languages" ng-model="language.selectedLanguage" ng-change="language.changeLanguage()"></select>
<button ng-click="language.editLanguage()">{{ language.lblEditLanguage }}</button>
</div>
</div>
</div>
</nav>
<div id="corpus" class="container-fluid" ng-view="">
</div>
<nav class="navbar navbar-inverse navbar-fixed-bottom" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#route" aria-expanded="false" aria-controls="route">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="navbar-brand"> {{ language.lblFooter }} </div>
</div>
<div id="route" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#"> {{ language.lblMainPage }} </a></li>
<li><a href="#">{{ language.lblFirstPage }}</a></li>
<li><a href="#">{{ language.lblSecondPage }}</a></li>
<li><a href="#">{{ language.lblThirdPage }}</a></li>
</ul>
</div>
</div>
</nav>
CSS : CSS:
body {
padding-top: 70px;
/* Required padding for .navbar-fixed-top. Remove if using .navbar-static- top. Change if height of navigation changes. */
}
.container {
display: table;
}
.vertical-center {
display: table-cell;
padding-top: 1%;
padding-left: 5%;
}
.vertical-center label.ng-binding{
color:grey;
}
div#corpus.container-fluid.ng-scope {
background-color:default;
}
div#mainDiv a.ng-binding {
color: black;
text-decoration: underline;
}
.top-buffer {
margin-top:2%;
}
Basically, this question has been answered before . 基本上,这个问题之前已经得到了回答 。
.vertical-center {
min-height: 100%;
min-height: 100vh;
display: flex;
align-items: center;
}
<div class="container-fluid vertical-center">
Vertically centered in body.....
</div>
http://www.bootply.com/oX2f8eBxFv http://www.bootply.com/oX2f8eBxFv
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.