Lables重叠并向右对齐

时间:2015-07-14 02:34:30

标签: html css twitter-bootstrap

我使用最新版本的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;
    }
}

问题是像'作者'这样的标签控件正在向右对齐,如下所示:

controls overlapping

作者标签应位于下拉列表中。我做错了什么?

P.S:将红色文本忽略为搜索框下的控件。

1 个答案:

答案 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的信息。不是它不完美。但它对于初学者来说非常方便。)