【发布时间】:2018-02-12 02:19:05
【问题描述】:
我正在努力让导航栏包含:
- 我的品牌形象
- 长搜索栏和提交按钮,填充整个导航栏高度
- #2 末端有足够的空间,可以再放置一个相同高度的按钮
...全部在一条线上,不折叠。
但是,就我的一生而言,在我从 #2 放置搜索栏后,我无法让 任何东西与导航栏保持在同一条线上。我尝试将搜索表单放在下面的列中,在不同的地方使用display: inline,navbar-right 等。
如果这很容易解决,请告诉我。我也想控制搜索字段的长度。
#searchBar {
border-left: 1px solid rgb(216, 216, 216);
border-right: 1px solid rgb(216, 216, 216);
}
#searchText {
height: 62px;
}
#searchButton {
background-color: Transparent;
border: 0px;
height: 63px;
}
#navigationBar {
box-shadow: 0px 4px 8px -3px rgba(17, 17, 17, .16);
height: 63px;
}
a.navbar-brand {
padding: 0px;
}
.logo-small {
margin-right: 14px;
margin-top: 7px;
margin-left: 19px;
width: 49px;
}
<nav class="nav" id="navigationBar">
<a class="navbar-brand" href="/""><img src="mylogo.png" class="logo-small">BRAND IMAGE</a>
<div class="row">
<div class="col-sm-10">
<form>
<div class="input-group" id="searchBar">
<input type="text" class="form-control" id="searchText" placeholder="Search here." onsubmit="search()">
<span class="input-group-btn">
<button type="button" id="searchButton" onclick="this.blur();"><i class="flaticon-search"></i></button>
</span>
</div>
</form>
</div>
<div class="col-sm-2">
<!-- HERE is where I want to place another button to fill the remaining space in the nav bar -->
</div
</nav>
【问题讨论】:
-
(1)
<form>是块元素,默认情况下它不会与其他元素并排,所以这是你需要定位的元素。 (2) 您不能只将一个 div 设置为一列 - 就其本身而言,它没有任何意义。您需要创建一个完整的网格结构,其中行包含列。如果您尝试使用 Bootstrap,请查看他们在网格上的文档 -
@FluffyKitten 即使我创建了一行,然后将表单放置为
col-sm-10,然后将另一列放置为col-sm-2,它也会出现在另一行。我该如何做你提到的这个定位? -
正如我所说,您需要参考文档以了解您尝试使用的任何网格系统。此外,您需要将表单等放入列中,而不是相反。
-
@FluffyKitten 我已经更新了我的问题,但这有完全相同的问题。
-
您没有正确使用网格系统 - 正如我所说,请阅读文档以了解如何正确使用它。
标签: html css twitter-bootstrap twitter-bootstrap-3 bootstrap-4