#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;
}
}
Надеюсь, что это поможет людям, которые наткнулись на этот пост.