我使用最新版本的Bootstrap来创建搜索框。搜索在搜索按钮之前有一个下拉列表。
点击下拉列表会显示一系列控件。
这是标记。
<div class="row">
<div class="col-md-12">
<div class="input-group" id="adv-search">
<input type="text" class="form-control" placeholder="Search for snippets" />
<div class="input-group-btn">
<div class="btn-group" role="group">
<div class="dropdown dropdown-lg">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><span class="caret"></span></button>
<div class="dropdown-menu dropdown-menu-right" role="menu">
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="filter">Filter by</label>
<select class="form-control">
<option value="0" selected>All Snippets</option>
<option value="1">Featured</option>
<option value="2">Most popular</option>
<option value="3">Top rated</option>
<option value="4">Most commented</option>
</select>
</div>
<div class="form-group">
<label for="contain">Author</label>
<input class="form-control" type="text" />
</div>
<div class="form-group">
<label for="contain">Contains the words</label>
<input class="form-control" type="text" />
</div>
<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>
</form>
</div>
</div>
<button type="button" class="btn btn-primary"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>
</div>
</div>
</div>
</div>
</div>
CSS
/* Search Box */
.dropdown.dropdown-lg .dropdown-menu {
margin-top: -1px;
padding: 6px 20px;
}
.input-group-btn .btn-group {
display: flex !important;
}
.btn-group .btn {
border-radius: 0;
margin-left: -1px;
}
.btn-group .btn:last-child {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.btn-group .form-horizontal .btn[type="submit"] {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.form-horizontal .form-group {
margin-left: 0;
margin-right: 0;
}
.form-group .form-control:last-child {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
@media screen and (min-width: 768px) {
#adv-search {
width: 500px;
margin: 0 auto;
}
.dropdown.dropdown-lg {
position: static !important;
}
.dropdown.dropdown-lg .dropdown-menu {
min-width: 500px;
}
}
问题是像'作者'这样的标签控件正在向右对齐,如下所示:
作者标签应位于下拉列表中。我做错了什么?
P.S:将红色文本忽略为搜索框下的控件。
答案 0 :(得分:1)
标签标签默认显示为内联元素。也就是说,他们希望与周围的内容保持同一条线。要更改添加显示:阻止您要强制换行的标签。或者将它们包装在自己的个人div标签中。
我添加了
label{
display:block;
}
给你的css演示。
https://jsfiddle.net/bLfv9dh6/
注意:虽然这是更多的CSS事情。我想可能会有一些&#39; float:left&#39;在某处使用的价值观。如果没有清除css属性,那些可能会搞砸你。
标签{clear:both; } http://www.w3schools.com/cssref/pr_class_clear.asp(PS退伍军人,不要向我发送关于w3schools的信息。不是它不完美。但它对于初学者来说非常方便。)