【问题标题】:Bootstrap show search bar underneath navigationBootstrap 在导航下方显示搜索栏
【发布时间】:2017-03-12 19:15:02
【问题描述】:

当菜单处于折叠状态时,我试图在导航下方显示导航。但是当我以 1200 宽度实现折叠时,即使菜单折叠,搜索栏也会显示在右侧。

其次,因为我使用 div 来分隔导航的两个部分,所以当我使用大型菜单样式时,下拉菜单的宽度被限制为 col-md-9。我宁愿它一直到导航的整个宽度。

<nav class="navbar navbar-default" role="navigation">
<div class="row">
    <div class="col-sm-9 col-md-9">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">Company Name</a>
        </div>
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li class="active"><a href="#">Link</a></li>
                <li><a href="#">Link</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">Action</a></li>
                        <li><a href="#">Another action</a></li>
                        <li><a href="#">Something else here</a></li>
                        <li class="divider"></li>
                        <li><a href="#">Separated link</a></li>
                        <li class="divider"></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
    <div class="col-sm-3 col-md-3 pull-right">
    <form class="navbar-form" 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>
    </div>
</div>

@media (max-width: 1200px) {
.navbar-header {
    float: none;
    height: 80px!important;
}
.navbar-left,.navbar-right {
    float: none !important;
}
.navbar-toggle {
    margin-top: 20px;
    display: block;
}
.navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px;
}
.navbar-collapse.collapse {
    display: none!important;
}
.navbar-nav {
    float: none!important;
    margin-top: 7.5px;
}
.navbar-nav>li {
    float: none;
}
.navbar-nav>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
}
.collapse.in{
    display:block !important;
}


.navbar-nav .open .dropdown-menu {
       position: static;
       float: none;
       width: auto;
       margin-top: 0;
       background-color: transparent;
       border: 0;
       -webkit-box-shadow: none;
       box-shadow: none;
    }
    .navbar-nav > li > a {
            line-height: 20px!important;
        padding-top: 10px!important;
            padding-bottom: 10px!important;
    }
    .navbar-brand>img { 
      position:absolute!important;
      left: -50px!important;
      top: 0px!important;
      padding: 0px!important;
    }

JS Fiddle Link

【问题讨论】:

    标签: jquery css html twitter-bootstrap


    【解决方案1】:

    使用容器流体代替行

    在大于 1200 的分辨率下,导航栏和搜索栏将位于同一行 所以使用

    col-lg-9 位于导航栏标题上,col-lg-3 位于导航栏表单上

    在小于

    更新:也使用以下 css

    @media (min-width: 768px){
        .input-group-btn{
        width: 1% !important;
        }
        }
    

    heres the updated jsfiddle

    【讨论】:

    • 解决方案的问题是,当搜索栏不是全宽时,折叠菜单的宽度较大,其次,当折叠菜单不存在时,搜索菜单未对齐
    • 更新了答案。 bootstrap 在小于 768px 的屏幕上添加 width:auto on .input-group-btn 类。
    猜你喜欢
    • 2021-12-08
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多