Группа ввода формы Navbar ширины Fluild - Bootstrap 3 - PullRequest
0 голосов
/ 02 ноября 2018

У меня проблемы с получением поля ввода до 100% ширины жидкости в панели навигации в настольных версиях.

<nav class="navbar navbar-inverse navbar-fixed-top">
 <div class="container-fluid">
  <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
        <span class="sr-only">Menu</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#"><img src="https://via.placeholder.com/100x30.png?text=Logo" width="100" height="25" /></a>
  </div>
  <div id="navbar" class="navbar-collapse collapse">
    <div class="nav navbar-nav">
      <div class="navbar-form">
        <div class="input-group">
          <input type="url" class="form-control" placeholder="http://www.website.com" name="url" value="" />
          <span class="input-group-btn">
            <button class="btn btn-success" type="button" id="seo-submit">Submit</button>
          </span>
        </div>
      </div>
    </div>
    <ul class="nav navbar-nav navbar-right">
      <li>
        <a href="#">Item 1</a>
      </li>
      <li>
        <a href="#">Item 2</a>
      </li>
      <li>
        <a href="#">Item 3</a>
      </li>
    </ul>
  </div>
 </div>
</nav>

Здесь также сделана ссылка на Codeply: https://www.codeply.com/go/IsKEVDDCkG

Какие-нибудь идеи, чтобы получить поле ввода и кнопку, чтобы заполнить пространство панели навигации, оставаясь в линии?

1 Ответ

0 голосов
/ 02 ноября 2018

Вам нужно будет внести некоторые изменения в ваш CSS и HTML.

В HTML я добавил класс navbar-left в меню div. Теперь в css мы можем использовать некоторые свойства flexbox, чтобы сделать каждую вещь более гибкой.

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

Проверьте этот фрагмент на полной странице

div#navbar {
      display: flex!important;
}

.navbar-left{
    flex-grow: 1;
}
      
.navbar-nav {
      float: none!important;
    }

.navbar-form .input-group,
.navbar-inverse .navbar-form,
.input-group-btn:last-child>.btn{
     width: 100%; 
     
}
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

 <nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
            <span class="sr-only">Menu</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#"><img src="https://via.placeholder.com/100x30.png?text=Logo" width="100" height="25" /></a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <div class="nav navbar-nav navbar-left">
          <div class="navbar-form">
            <div class="input-group">
              <input type="url" class="form-control" placeholder="http://www.website.com" name="url" value="" />
              <span class="input-group-btn">
                <button class="btn btn-success" type="button" id="seo-submit">Submit</button>
              </span>
            </div>
          </div>
        </div>
        <ul class="nav navbar-nav navbar-right">
          <li>
            <a href="#">Item 1</a>
          </li>
          <li>
            <a href="#">Item 2</a>
          </li>
          <li>
            <a href="#">Item 3</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...