Bootstrap form-inline 不起作用,如何防止它们堆叠?

Bootstrap form-inline not working, how can I prevent them from stacking?

我有一个非常基本的测试导航栏,带有一个搜索输入框和相应的搜索按钮。我正在使用 Bootstrap class form-inline,但搜索按钮位于搜索输入下方,尽管有很多 space. 您可以查看codepen here 以便对其进行测试。无论哪种方式,html 代码都是这样的:

<!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">
    <title>Nav</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
</head>


<body>
    <nav class="navbar navbar-expand-lg navbar-light bg-warning">
        <a href="#none" class="navbar-brand">MarcaX</a>
        <button class="navbar-toggler" data-toggle="collapse" data-target="#expand">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="expand">
            <div class="navbar-nav">
                <a href="#link1" class="nav-item nav-link">Link1</a>
                <a href="#link2" class="nav-item nav-link">Link2</a>
                <a href="#link3" class="nav-item nav-link">Link3</a>
            </div>
            <form class="form-inline ms-auto">
                <input class="form-control mr-sm-2" type="search">
                <button class="btn btn-outline-light my-2 my-sm-0" type="submit">Search</button>
            </form>
        </div>
    </nav>
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>

这应该可以在不将按钮放在表单标签之外的情况下工作,并且应该没有任何 css。

您正在调用 bootstrap v5,并且 .form-inline 从 v5 开始被删除:https://getbootstrap.com/docs/5.0/migration/#forms-2

您应该使用 .row.col 来构建表单布局

<form class="row ms-auto">
  <div class="col">
      <input class="form-control mr-sm-2" type="search">                
  </div>
  <div class="col-auto">
      <button class="btn btn-outline-light my-2 my-sm-0" type="submit">Search</button>
  </div>
</form>

你可以在这里找到一切:https://getbootstrap.com/docs/5.0/forms/layout/