Невозможно складывать гибкие элементы вертикально после использования гибкой основы - PullRequest
0 голосов
/ 13 июля 2020

Я создал липкую навигационную панель, которая должна реагировать. h1 нужен только для тестирования. У меня проблемы с использованием flex в моем файле css.

Я хочу, чтобы все тексты и формы располагались вертикально с помощью flex. Вчера мне удалось заставить его работать, однако, когда я вернулся к своему рабочему столу, я заметил, что все тексты и формы больше не складываются вертикально.

Я также попробовал это снова без кнопки переключения, и все еще безуспешно. Даже использование гибкости не дает никакого эффекта. Может ли кто-нибудь сказать мне, что я делаю неправильно?

Примечание: У меня все эти проблемы возникают на мобильном . Вы также заметите в css, что я поставил 'text-center' в качестве примечания, потому что я пытался протестировать его со свойством и без него.

.navbar {
  /*text-align: center;*/
  padding-top: 20px;
  padding-bottom: 20px;
}

.navbar-brand {
  flex: 1;
}

#logo {
  width: 30px;
  height: 30px;
  display: flex;
}

.container {
  display: flex;
}

.search {
  flex: 1;
}

.button {
  flex: 1;
}

.container>li {
  flex: 1;
}

@media all and (max-width: 600px) {
  .container {
    flex-wrap: wrap;
  }
  .container>li {
    flex-basis: 50%;
  }
}

@media all and (max-width: 400px) {
  .container>li {
    flex-basis: 100%;
  }
  .search {
    order: 1;
  }
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous" />
  <link rel="stylesheet" href="styles/responsive2.css" media="screen and (max-width: 900px)" />

  <title>Navbar Test</title>


</head>

<body>
  <div class="container">
    <nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top">
      <a class="navbar-brand" href="#"><img src="img/S-icon.png" width="30" height="30" id="logo" class="d-inline-block align-top" alt="">Giphy</a>
      <!--<button class="navbar-toggler navbar-toggler-right custom-toggler" type="button" data-toggle="collapse" data-target="#collapsingNavbar4">
      <span class="navbar-toggler-icon"></span>
  </button>-->
      <div id="collapsingNavbar4">
        <!--<div class="navbar-collapse collapse>-->
        <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>
          <li class="nav-item"><a class="nav-link" href="#">Link</a></li>
          <li class="search active">
            <form class="form-inline">
              <input class="form-control mr-sm-2" type="search" placeholder="Search">
              <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
            </form>
          </li>

        </ul>
    </nav>
    </div>
  </div>
  </div>


  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <h1>Hello!</h1>
  <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>

</body>

</html>

1 Ответ

0 голосов
/ 14 июля 2020

Внутри _navbar.scss есть свойство (строка 21) flex-wrap: wrap;, которое не имеет смысла. Это означает, что панель навигации будет переноситься только тогда, когда на ней нет места, чтобы сохранить ее в одной строке. Поскольку сворачивающаяся панель навигации меньше при переносе, рядом с ней будет отображаться рисунок. Вы можете решить эту проблему, используя вместо этого flex-direction: column;. Когда я тестировал это, я заметил, что к панели навигации добавлено какое-то странное пространство. Вы можете решить эту проблему, удалив align-items: center.

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