[英]Horizontal and Vertical alignment of a toolbar with Bootstrap elements
我正在尝试创建页面标题/工具栏。 这是现有主题,顶部将放置DIV。 基本前提是,左边是H2标题,右边是一堆引导元素(搜索表单,botton,下拉列表等)。
我已经尝试了所有类型的块,内联块垂直对齐等。我可以使H2向左拉,工具栏向右拉,但工具栏元素都拉至容器div的顶部。 我只想要一个干净的布局,所有元素都沿其水平轴对齐。
我认为右拉可能是问题的一部分。 这似乎将正确的div拉到了顶部。
这是Bootply链接: http : //www.bootply.com/BPucyP8mpk
<div class"container">
<div id="left">
<h2 class="">Title</h2>
</div>
<div id="right">
<form class="form form-horizontal">
<input type="text" placeholder="search field" class="form-control">
<button type="submit" class="btn">search</button>
</form>
<button class="btn btn-default">Button</button>
<div class="btn-group">
<button class="btn">Left</button>
<button class="btn">Middle</button>
<button class="btn">Right</button>
</div>
<div class="btn-group"><a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Dropdown<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#" class="">Choice1</a>
</li>
<li><a href="#" class="">Choice2</a>
</li>
<li><a href="#" class="">Choice3</a>
</li>
<li class="divider"></li>
<li><a href="#" class="">Choice..</a>
</li>
</ul>
</div>
</div>
</div>
更新:
这是包装要尝试格式化的标头的计算CSS:
border-bottom-width: 1px;
border-top-color: rgb(103, 106, 108);
border-top-style: none;
border-top-width: 0px;
box-sizing: border-box;
color: rgb(103, 106, 108);
display: block;
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 13px;
height: 70px;
line-height: 18px;
margin-left: -15px;
margin-right: -15px;
padding-bottom: 12px;
padding-left: 20px;
padding-right: 20px;
padding-top: 0px;
width: 1318px;
这是从我安装的自定义主题中得出的。 这是此包装器div计算出的CSS:
<div class="row wrapper border-bottom white-bg page-heading">
</div>
UPD:
最适合此任务的方法是使用Flexbox
签出: http : //www.bootply.com/CtVmUbzrlr
<div class="row">
<div id="left" class="col-sm-3 col-md-5">
<h2 class="">Title</h2>
</div>
<div id="right" class="col-sm-9 col-md-7">
<form class="form form-horizontal">
<div class="input-group">
<input type="text" placeholder="search field" class="form-control">
<span type="submit" class="input-group-addon">search</span>
</div>
</form>
<button class="btn btn-default">Button</button>
<div class="btn-group">
<button class="btn">Left</button>
<button class="btn">Middle</button>
<button class="btn">Right</button>
</div>
<div class="btn-group"><a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Dropdown<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#" class="">Choice1</a>
</li>
<li><a href="#" class="">Choice2</a>
</li>
<li><a href="#" class="">Choice3</a>
</li>
<li class="divider"></li>
<li><a href="#" class="">Choice..</a>
</li>
</ul>
</div>
</div>
</div>
.row{
border: 1px solid #000;
}
#right{
display: flex;
align-items: center;
height: 66px;
justify-content: flex-end;
}
.input-group{
width: 200px;
}
看一下这个:
<div class="col-lg-4">
<h2 class="">Title</h2>
</div>
<div class="col-lg-8">
<div class="row">
<form class="form form-horizontal">
<div class="col-lg-8">
<input type="text" placeholder="search field" class="form-control">
</div>
<div class="col-lg-4">
<button type="submit" class="btn btn-block">search</button>
</div>
</form>
</div>
<div class="row">
<div class="col-lg-12">
<button class="btn btn-default">Button</button>
<div class="btn-group">
<button class="btn">Left</button>
<button class="btn">Middle</button>
<button class="btn">Right</button>
</div>
<div class="btn-group"><a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Dropdown<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#" class="">Choice1</a>
</li>
<li><a href="#" class="">Choice2</a>
</li>
<li><a href="#" class="">Choice3</a>
</li>
<li class="divider"></li>
<li><a href="#" class="">Choice..</a>
</li>
</ul>
</div>
</div>
</div>
</div>
您也可以检查bootply: http : //www.bootply.com/LmGjZM6fHH
您需要使用col-md- *管理布局
这仅用于演示,您可以自己安排
如何利用引导程序中的navbar组件? http://getbootstrap.com/components/#navbar我认为这里的示例几乎可以总结您的需求。
基本上,我在按钮上添加了navbar-btn
类,在navbar-form
添加了navbar-form
,以使它们正确对齐。 我在窗体和按钮组中都添加了navbar-right
类。 http://www.bootply.com/IySnkX2ioK
编辑:仅添加了navbar-default
类以概述导航条的边界,而不是解决方案的一部分。
第一件事是,如果您想将搜索框放在左侧,请先将其放置,然后再将按钮组与下拉列表放在一起。 其次,不要将navbar-rigth
放置在另一个navbar-rigth
。 最后一件事-只需将右侧元素包装在一个div
并在其中添加一些padding
更新的链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.