Кнопка на панели навигации вызывает увеличение высоты панели навигации - PullRequest
2 голосов
/ 11 апреля 2020

Я ссылаюсь на следующий пример на панели навигации, используя Bootstrap:

https://www.w3schools.com/bootstrap4/tryit.asp?filename=trybs_navbar_form&stacked=h

Копируя HTML, я помещаю его в свой JSP страница Ниже приведена возможная HTML:

<html>

<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<link href="/webjars/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<script type="text/javascript" src="/webjars/jquery/jquery.min.js"></script>
<script type="text/javascript" src="/webjars/bootstrap/js/bootstrap.bundle.min.js"></script>

<title>2</title>
</head>

<body>

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
  <form class="form-inline" action="/action_page.php">
    <input class="form-control mr-sm-2" type="text" placeholder="Search">
    <button class="btn btn-success" type="submit">Search</button>
  </form>
</nav>
<br>

<div class="container">
  <h3>Navbar Forms</h3>
  <p>Use the .form-inline class to align form elements side by side inside the navbar.</p>
</div>

</body>
</html>

На обоих IE и Google Chrome высота панели навигации больше, чем в примере, с дополнительными пробелами под элементами управления, как показано ниже. Я обнаружил, что это связано с кнопкой. Если кнопка будет удалена, высота панели навигации будет такой же, как в примере. Что может быть причиной root и как я могу ее устранить? Я использую Bootstrap 4.4.

What I got

1 Ответ

2 голосов
/ 11 апреля 2020

это из-за браузера по умолчанию CSS, который также известен как Таблица стилей агента пользователя.

enter image description here Я обнаружил, что если вы используете <!DOCTYPE html> это пространство было удалено потому что нижнее поле элемента формы в таблице стилей агента пользователя HTML5 равно 0px;

. Если я не использую <!DOCTYPE html>, то рассматривается таблица стилей агента пользователя HTML4. и нижнее поле элемента формы в нем - 1em.

, так что теперь ваш выбор - если вы будете использовать <!DOCTYPE html> или нет.

В противном случае другое решение будет которые используют class="mb-0" в элементе формы, это bootstrap -4 класс для установки margin-bottom: 0px; для любого элемента.

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