Создайте поле поиска переключения в Navbar с Bootstrap 4 - PullRequest
1 голос
/ 07 апреля 2020

Я пытаюсь создать подобный эффект в SEARCH BOX, как uikit #SEARCH IN NAVBAR с Bootstrap, но пока безуспешно.

Пример -> https://codepen.io/thiagobraddock/pen/mdJNMBJ

<div class="uk-navbar-item uk-width-expand">
    <form class="uk-search uk-search-navbar uk-width-1-1">
        <input class="uk-search-input" type="search" placeholder="Search..." autofocus>
    </form>
</div>

Полный пример здесь -> https://getuikit.com/docs/search

"Значок поиска можно использовать как переключатель для открытия поиска внутри навигационной панели [ ...] "

Если щелкнуть значок поиска, поле ввода охватывает все« строки », выглядит просто, но я не могу найти ни одного примера, и я часто выполнял поиск.

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Просто используйте Jquery; s toggle() на элементе вот оно:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css">
    <link rel="stylesheet" href="style.css">
    <title>Title</title>
</head>

<body>
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <a class="navbar-brand" href="#">Navbar</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav mr-auto">
                <li class="nav-item active">
                    <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link</a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Dropdown
              </a>
                    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                        <a class="dropdown-item" href="#">Action</a>
                        <a class="dropdown-item" href="#">Another action</a>
                        <div class="dropdown-divider"></div>
                        <a class="dropdown-item" href="#">Something else here</a>
                    </div>
                </li>
                <li class="nav-item">
                    <a class="nav-link disabled" href="#">Disabled</a>
                </li>
            </ul>
            <form class="form-inline my-2 my-lg-0">

                <input id="search1" class="form-control mr-sm-2" type="search" placeholder="search" aria-label="Search">
                <button id="search2" class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
            </form>
        </div>
    </nav>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.min.js"></script>
    <script>
        $('#search2').click(function() {
            $('#search1').toggle();
        });
    </script>
</body>

</html>
0 голосов
/ 07 апреля 2020

Bootstrap 4 не предоставляет этого «из коробки», но вы можете использовать компонент Collapse для его простой реализации.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css">
</head>
<body>
  <nav class="navbar navbar-expand navbar-light bg-light">
    <a class="navbar-brand" href="#">Brand</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar1">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbar1">
      <ul class="navbar-nav">
        <li class="nav-item active">
          <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
      </ul>
      <ul class="navbar-nav ml-auto">
        <li class="nav-item d-flex">
          <div class="collapse fade" id="searchForm">
            <input id="search" type="search" class="form-control border-0 bg-light" placeholder="search" />
          </div>
          <a class="nav-link ml-auto" href="#searchForm" data-target="#searchForm" data-toggle="collapse">
            <i class="mdi mdi-magnify"></i>
          </a>
        </li>
      </ul>
    </div>
  </nav>
  <div class="container py-4">
    <div class="row">
      <div class="col">
        <h2 class="font-weight-light">Hello codeplyer?</h2>
        <p>
          This is a Bootstrap starter example snippet.
        </p>
      </div>
    </div>
  </div>
</body>
</html>

https://codeply.com/p/x0lPBz5p63

А вот более надежный пример с full-width search, который перекрывает весь Navbar: https://codeply.com/p/K5PKPo5c7f

...