Css 使div垂直居中
我试图在引导程序中垂直对齐一个div,但在投票否决访问JSFIDLE link之前,它不起作用Css 使div垂直居中,css,twitter-bootstrap,twitter-bootstrap-3,vertical-alignment,Css,Twitter Bootstrap,Twitter Bootstrap 3,Vertical Alignment,我试图在引导程序中垂直对齐一个div,但在投票否决访问JSFIDLE link之前,它不起作用 <div style="display: table-cell; height: 50px; vertical-align: middle;"> <button type="button" class="btn btn-default navbtn"> <span class="
<div style="display: table-cell; height: 50px; vertical-align: middle;">
<button type="button" class="btn btn-default navbtn">
<span class="glyphicon glyphicon-leaf"></span>
</button>
<button type="button" class="btn btn-default navbtn" >
<span class="glyphicon glyphicon-cog"></span>
</button>
<div id="navbar-search">
<button type="button" class="btn btn-default navbar-search-btn" >
<span class="fa fa-search"></span>
</button>
<input type="search" class="navsearch" />
</div>
</div>
当我移除导航栏时,搜索div按钮就可以了。
JSFiddle:
注意:搜索容器有显示:内联块;并使其粘在顶部,我无法将其移除。您需要将.navbar btn添加到按钮以使其垂直居中。有关更多详细信息,请参阅
从语义上讲,如果它是nav,它应该在nav HTML5元素中。无论如何,您的列太宽了,并且正在向下推图标列,这些列占据了100%的宽度,因此没有空间放置任何其他内容
请参阅使用基本引导
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="row">
<div class="col-sm-6">
<div class="row">
<div class="col-sm-5">1</div>
<div class="col-sm-2">2</div>
<div class="col-sm-5">3</div>
</div>
</div>
<div class="col-sm-6 navbar-right">
<div class="row">
<div class="col-sm-8">
<form class="navbar-form navbar-right" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q">
<div class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="glyphicon glyphicon-search">
</i>
</button>
</div>
</div>
</form><!--/form-->
</div><!--/form column-->
<div class="col-sm-4">
<button type="button" class="btn btn-default navbtn navbar-btn">
<span class="glyphicon glyphicon-leaf"></span>
</button>
<button type="button" class="btn btn-default navbtn navbar-btn" >
<span class="glyphicon glyphicon-cog"></span>
</button>
</div><!--/buttons column-->
</div><!--/row column-->
</div><!--/right column-->
</div><!--/row-->
</div><!--/container-->
</nav> <!--/nav-->
html
小提琴:复制许多小提琴中的一个;请参见此处的答案:。在这种情况下,您的div导航栏搜索可能是display:block…因此它不能与按钮元素在一行中。不,这是不同的。搜索容器div具有显示:inline block;。我认为您没有检查JSFIDLE链接!我更新了代码并添加了一个fiddle链接。您可以根据需要调整父列。实际上,您使用的是默认的导航栏控件,我假装不使用它。
<header class="navbar">
<div class="container-fluid expanded-panel">
<div class="row" dir="rtl">
<div class="col-sm-5">
3
</div>
<div class="col-sm-2">
2
</div>
<div class="col-sm-5">
<div style="display: table;">
<button type="button" class="btn btn-default navbtn">
<span class="glyphicon glyphicon-leaf"></span>
</button>
<button type="button" class="btn btn-default navbtn" >
<span class="glyphicon glyphicon-cog"></span>
</button>
<div id="navbar-search" style="display: table-cell;">
<button type="button" class="btn btn-default navbar-search-btn" >
<span class="fa fa-search"></span>
</button>
<input type="search" class="navsearch" />
</div>
</div>
</div>
</div>
</div>
</header>
.navbar{
background-color:#fff;
border-bottom:#eee solid 1px;
}
.navbtn {
font-size:large;
margin-left: 5px;
}
.navsearch{
text-align: right;
-webkit-border-radius: 15px 0 0 15px;
border-radius: 15px 0 0 15px;
outline: none;
background: #eee;
cursor: inherit;
display:inline-block;
border:none;
padding:5px;
height:35px;
}
#navbar-search{
display:inline-block;
float:none;
margin-top:10px;
}
.navbar-search-btn{
-webkit-border-radius: 0 15px 15px 0;
border-radius: 0 15px 15px 0;
display:inline;
float:right;
border:none;
background: #eee;
height:35px;
}