2017-02-17 2 views
0

по какой-то причине моя расширяющаяся панель поиска не будет правильно совмещаться с другими элементами на моем навигаторе. Он отображается сверху, а вход и выход - внизу. Я хочу, чтобы у них была одна строка, как новый переполнение стека navbar. В чем проблема?Поиск-бар не выравнивается в navbar

Оба CSS и HTML ниже:

body { 
 
    padding-top: 65px; 
 
} 
 

 
.search-form .form-group { 
 
    float: right !important; 
 
    transition: all 0.35s, border-radius 0s; 
 
    width: 32px; 
 
    height: 32px; 
 
    background-color: #fff; 
 
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset; 
 
    border-radius: 25px; 
 
    border: 1px solid #ccc; 
 
} 
 
.search-form .form-group input.form-control { 
 
    padding-right: 20px; 
 
    border: 0 none; 
 
    background: transparent; 
 
    box-shadow: none; 
 
    display:block; 
 
} 
 
.search-form .form-group input.form-control::-webkit-input-placeholder { 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control:-moz-placeholder { 
 
    /* Firefox 18- */ 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control::-moz-placeholder { 
 
    /* Firefox 19+ */ 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control:-ms-input-placeholder { 
 
    display: none; 
 
} 
 
.search-form .form-group:hover, 
 
.search-form .form-group.hover { 
 
    width: 100%; 
 
    border-radius: 4px 25px 25px 4px; 
 
} 
 
.search-form .form-group span.form-control-feedback { 
 
    position: absolute; 
 
    top: -1px; 
 
    right: -2px; 
 
    z-index: 2; 
 
    display: block; 
 
    width: 34px; 
 
    height: 34px; 
 
    line-height: 34px; 
 
    text-align: center; 
 
    color: #3596e0; 
 
    left: initial; 
 
    font-size: 14px; 
 
}
<nav class="navbar navbar-default navbar-fixed-top"> 
 
    <div class="container"> 
 
    <div class="navbar-header"> 
 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
 
     <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="#">Linkin Park</a> 
 
    </div> 
 

 
    <!-- Collect the nav links, forms, and other content for toggling --> 
 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
 
     <ul class="nav navbar-nav"> 
 
     <li class="active"><a href="#">Link0 <span class="sr-only">(current)</span></a></li> 
 
     <li><a href="#">Link1</a></li> 
 
     </ul> 
 
     <ul class="nav navbar-nav navbar-right"> 
 
      <div class="form-group"> 
 
      <form action="" class="search-form"> 
 
       <div class="form-group has-feedback"> 
 
      \t \t <label for="search" class="sr-only">Search</label> 
 
      \t \t <input type="text" class="form-control" name="search" id="search" placeholder="search"> 
 
       \t \t <span class="glyphicon glyphicon-search form-control-feedback"></span> 
 
      \t </div> 
 
      </form> 
 
     </div> 
 
      <li><a href="#">Sign In</a></li> 
 
      <li><a href="#">Sign Out</a></li> 
 

 

 
     </ul> 
 
    </div><!-- /.navbar-collapse --> 
 
    </div><!-- /.container-fluid --> 
 
</nav>

Спасибо очень очень много заранее! :-D

+1

Почему вы используете DIV в инлайн элемента UL? Я думаю, вы хотите, чтобы ваш поисковый бар был ниже «выйти»? – dutchsociety

+0

Нет. Я хочу, чтобы он был на одной прямой, как накладной поток Stackover. –

ответ

1

Вы забыли обернуть DIV в <li></li>.

Рабочий фрагмент

body { 
 
    padding-top: 65px; 
 
} 
 
.form-group { 
 
padding-top:10px; 
 
} 
 
.search-form .form-group { 
 
    float: right !important; 
 
    transition: all 0.35s, border-radius 0s; 
 
    width: 32px; 
 
    height: 32px; 
 
    background-color: #fff; 
 
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset; 
 
    border-radius: 25px; 
 
    border: 1px solid #ccc; 
 
} 
 
.search-form .form-group input.form-control { 
 
    padding-right: 20px; 
 
    border: 0 none; 
 
    background: transparent; 
 
    box-shadow: none; 
 
    display:block; 
 
} 
 
.search-form .form-group input.form-control::-webkit-input-placeholder { 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control:-moz-placeholder { 
 
    /* Firefox 18- */ 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control::-moz-placeholder { 
 
    /* Firefox 19+ */ 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control:-ms-input-placeholder { 
 
    display: none; 
 
} 
 
.search-form .form-group:hover, 
 
.search-form .form-group.hover { 
 
    width: 100%; 
 
    border-radius: 4px 25px 25px 4px; 
 
} 
 
.search-form .form-group span.form-control-feedback { 
 
    position: absolute; 
 
    top: -1px; 
 
    right: -2px; 
 
    z-index: 2; 
 
    display: block; 
 
    width: 34px; 
 
    height: 34px; 
 
    line-height: 34px; 
 
    text-align: center; 
 
    color: #3596e0; 
 
    left: initial; 
 
    font-size: 14px; 
 
}
<html> 
 
<head> 
 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
 
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
      <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><nav class="navbar navbar-default navbar-fixed-top"> 
 
    <div class="container"> 
 
    <div class="navbar-header"> 
 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
 
     <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="#">Linkin Park</a> 
 
    </div> 
 

 
    <!-- Collect the nav links, forms, and other content for toggling --> 
 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
 
     <ul class="nav navbar-nav"> 
 
     <li class="active"><a href="#">Link0 <span class="sr-only">(current)</span></a></li> 
 
     <li><a href="#">Link1</a></li> 
 
     </ul> 
 
     <ul class="nav navbar-nav navbar-right"> 
 
      <li id="sear"><div class="form-group"> 
 
      <form action="" class="search-form"> 
 
       <div class="form-group has-feedback"> 
 
      \t \t <label for="search" class="sr-only">Search</label> 
 
      \t \t <input type="text" class="form-control" name="search" id="search" placeholder="search"> 
 
       \t \t <span class="glyphicon glyphicon-search form-control-feedback"></span> 
 
      \t </div> 
 
      </form> 
 
     </div></li> 
 
      <li><a href="#">Sign In</a></li> 
 
      <li><a href="#">Sign Out</a></li> 
 

 

 
     </ul> 
 
    </div><!-- /.navbar-collapse --> 
 
    </div><!-- /.container-fluid --> 
 
</nav>

+0

Теперь он выровнен, но когда вы наводите или используете панель поиска, так как она расширяется, элемент (вход и выход) сдвигается вниз и затем расширяется:/ –

+0

@The_Pythonist. Но в моем фрагменте он отлично работает Посмотрите на это. – neophyte

+0

Это мобильный вид, который отображается в вашем фрагменте. Но в настольных браузерах он выглядит иначе. –

1

Посмотрите на это, форму поиска и ссылки «Войти», «Выйти» находятся в одной строке. Я изменил ваш html бит, поскольку тег не может хранить метки.

body { 
 
    padding-top: 65px; 
 
} 
 
.search-form-holder { 
 
\t margin: 0; 
 
\t padding-top: 10px; 
 
} 
 
.search-form .form-group { 
 
    float: right !important; 
 
    transition: all 0.35s, border-radius 0s; 
 
    width: 32px; 
 
    height: 32px; 
 
    background-color: #fff; 
 
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset; 
 
    border-radius: 25px; 
 
    border: 1px solid #ccc; 
 
} 
 
.search-form .form-group input.form-control { 
 
    padding-right: 20px; 
 
    border: 0 none; 
 
    background: transparent; 
 
    box-shadow: none; 
 
    display:block; 
 
} 
 
.search-form .form-group input.form-control::-webkit-input-placeholder { 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control:-moz-placeholder { 
 
    /* Firefox 18- */ 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control::-moz-placeholder { 
 
    /* Firefox 19+ */ 
 
    display: none; 
 
} 
 
.search-form .form-group input.form-control:-ms-input-placeholder { 
 
    display: none; 
 
} 
 
.search-form .form-group:hover, 
 
.search-form .form-group.hover { 
 
    width: 100%; 
 
    border-radius: 4px 25px 25px 4px; 
 
} 
 
.search-form .form-group span.form-control-feedback { 
 
    position: absolute; 
 
    top: -1px; 
 
    right: -2px; 
 
    z-index: 2; 
 
    display: block; 
 
    width: 34px; 
 
    height: 34px; 
 
    line-height: 34px; 
 
    text-align: center; 
 
    color: #3596e0; 
 
    left: initial; 
 
    font-size: 14px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"/> 
 
<nav class="navbar navbar-default navbar-fixed-top"> 
 
    <div class="container"> 
 
    <div class="navbar-header"> 
 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
 
     <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="#">Linkin Park</a> 
 
    </div> 
 

 
    <!-- Collect the nav links, forms, and other content for toggling --> 
 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
 
     <ul class="nav navbar-nav"> 
 
     <li class="active"><a href="#">Link0 <span class="sr-only">(current)</span></a></li> 
 
     <li><a href="#">Link1</a></li> 
 
     </ul> 
 
     <div class="form-group navbar-right search-form-holder"> 
 
     <form action="" class="search-form"> 
 
      <div class="form-group has-feedback"> 
 
      <label for="search" class="sr-only">Search</label> 
 
      <input type="text" class="form-control" name="search" id="search" placeholder="search"> 
 
       <span class="glyphicon glyphicon-search form-control-feedback"></span> 
 
      </div> 
 
     </form> 
 
    </div> 
 
\t \t \t <ul class="nav navbar-nav navbar-right"> 
 
      <li><a href="#">Sign In</a></li> 
 
      <li><a href="#">Sign Out</a></li> 
 
\t \t \t </ul> 
 

 
    </div><!-- /.navbar-collapse --> 
 
    </div><!-- /.container-fluid --> 
 
</nav>