как поместить два содержимого навигационной панели в одну строку

#jquery #html #css #twitter-bootstrap-3

#jquery #HTML #css #twitter-bootstrap-3

Вопрос:

Я должен содержимое панели навигации свернуть. Все, что я хочу, это отобразить это содержимое в одной строке (inline).

 <header class="navbar navbar-fixed-top" role="navigation">
<div class="navbar-inner">
    <div class="container">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-rt-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-mid-collapse">
            <span class="glyphicon glyphicon-search"></span>
        </button>
        <a class="navbar-brand" rel="home" href="">My Project</a>
        <div class="collapse navbar-collapse" id="navbar-mid-collapse">
                <form class="navbar-form form-inline" role="search" method="get" id="search-form" name="search-form">
                    <div class="input-group">
                        <input type="text" class="form-control">

                        <div class="input-group-btn">
                            <button type="submit" class="btn btn-success"><span
                                    class="glyphicon glyphicon-search"></span></button>
                        </div>
                    </div>
                </form>
        </div>
        <div class="collapse navbar-collapse" id="navbar-rt-collapse">
            <ul class="nav navbar-nav">
                <li><a data-toggle="modal" href="#" data-target="#">Login</a></li>
                <li><a data-toggle="modal" href="#" data-target="#">Register</a></li>
            </ul>
        </div>
    </div>
</div>
  

Вывод

Итак, как отобразить #nabar-mid-collapse и #navbar-rt-collapse в одной строке?
Спасибо

Комментарии:

1. Надеюсь, обновленный ответ поможет..

Ответ №1:

Вам нужно немного добавить css и изменить разметку, чтобы получить желаемый результат:

CSS:

 body {
    padding-top: 50px;
}
.navbar-inverse .navbar-toggle {
    color: #fff;
    width: 44px;
    height: 36px;
}
@media (max-width: 767px) {
    .navbar-inverse .navbar-collapse .navbar-form{
        margin: 0;
        border: 0 none;
    }
    .navbar-form .form-group {
        float: left;
        min-width: 80%;
        margin-right: 10px;
    }
}
@media (min-width: 768px) {
    .navbar-collapse.collapse {
        display: inline-block!important;
        float: left;
    }
}
  

HTML:

 <header class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle pull-right" data-toggle="collapse" data-target="#navbar-rt-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <button type="button" class="navbar-toggle pull-right" data-toggle="collapse" data-target="#navbar-mid-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="glyphicon glyphicon-search"></span>
            </button>
        <a class="navbar-brand" rel="home" href="">My Project</a>
        </div>
        <div class="navbar-collapse collapse" id="navbar-mid-collapse">
          <form class="navbar-form" role="search">
            <div class="form-group">
              <input type="text" class="form-control" placeholder="Search">
            </div>
            <button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-search"></span></button>
          </form>
        </div>
        <div class="navbar-collapse collapse" id="navbar-rt-collapse">
          <ul class="nav navbar-nav">
                <li><a data-toggle="modal" href="#" data-target="#">Login</a></li>
                <li><a data-toggle="modal" href="#" data-target="#">Register</a></li>
          </ul>
        </div>
    </div>
</header>
  

Демонстрационная загрузка

Ответ №2:

Оберните оба #nabar-mid-collapse и #navbar-rt-collapse в div с помощью class row-fluid ,

и примените class col-xs-4 (* или любой соответствующий .col класс в соответствии с шириной, необходимой для каждого элемента *) к ним обоим.

прочитайте больше о разделе grid system в документации bootstrap css

ДЕМОНСТРАЦИЯ

Комментарии:

1. В Bootstrap 3.x нет текучей среды для строк.

Ответ №3:

Я столкнулся с этой проблемой, и ответ от @jme11 натолкнул меня на идею сделать это:

 //multiple .navbar-collapse.collapse
@media (max-width: 767px) {
    .navbar-collapse:after {
        clear:both;
    }
}
@media (min-width: 768px) {
    .navbar-collapse:after {
        clear:none;
    }
}
  

Надеюсь, что это поможет людям, которые наткнулись на этот пост.